From unknown Tue Aug 19 09:31:51 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#28444] [PATCH 0/3] Add meson-build-system Resent-From: Peter Mikkelsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 13 Sep 2017 12:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 28444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 28444@debbugs.gnu.org Cc: Peter Mikkelsen X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.150530693316489 (code B ref -1); Wed, 13 Sep 2017 12:49:02 +0000 Received: (at submit) by debbugs.gnu.org; 13 Sep 2017 12:48:53 +0000 Received: from localhost ([127.0.0.1]:37293 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ds765-0004Ht-2R for submit@debbugs.gnu.org; Wed, 13 Sep 2017 08:48:53 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60817) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ds761-0004Hc-Ft for submit@debbugs.gnu.org; Wed, 13 Sep 2017 08:48:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ds75v-0004K2-JM for submit@debbugs.gnu.org; Wed, 13 Sep 2017 08:48:44 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:57720) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ds75v-0004Jk-GB for submit@debbugs.gnu.org; Wed, 13 Sep 2017 08:48:43 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51778) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ds75u-0007BQ-9g for guix-patches@gnu.org; Wed, 13 Sep 2017 08:48:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ds75q-0004DQ-BV for guix-patches@gnu.org; Wed, 13 Sep 2017 08:48:42 -0400 Received: from mail-lf0-x242.google.com ([2a00:1450:4010:c07::242]:38901) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ds75q-0004Ai-3r for guix-patches@gnu.org; Wed, 13 Sep 2017 08:48:38 -0400 Received: by mail-lf0-x242.google.com with SMTP id m199so55338lfe.5 for ; Wed, 13 Sep 2017 05:48:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=BGHATGUNHZn53A54cN6m3bdHCSdR50KqFXKT5qnWwIU=; b=KKPE6E7zHxXGN/3t0C0/ODtjvVyAO4N0rQ9GT9PjfcNrDB5p3WVCu7YEJstRoubgFH zZ0/CeS4pn8XzNxT+aDBxAvVmkbtoPdp/Eirg/oNZOSF/Da5U2NgdMC0LOdM9CcEWPPr UOSwNtR5fYyTXdOUvr3ooc78gzLkuekCxXqHRUgPABF4cYLy/0c5HWcrEkaxgxmXKPR/ qGwSVKtLE8UQ2jT7rcaz8TO3CDfDAseXdYhYj/tE24wMP+7x8/0XU5apsqCdQt0uwMH5 o0F+EEDssM5GjCW7JMl5UC47dfgojddVpZ7rpikSQ9JBAKWYaiyEouSfgtuK12ZcKeUQ Fp+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=BGHATGUNHZn53A54cN6m3bdHCSdR50KqFXKT5qnWwIU=; b=bx8xt2IBaUSgO3feuzAglpGpsw2v1xh5+mIZvNgHHrupazl2YEiX7S2SY3FAB2UDph t1OSyfrgG/Xl1bBhicC7gSI4bb9GHLG4McbeS3JXmeTMGSGTZE4/BpkbNLuTHAZsbK6c zwk1ZthBKpw1i+ggw3pD24aCJXfDB4zGEAWxHhMJXqZvBOTtooFYuyXKyeTO/i6z1CcF CM3G/vAmFGTt583ZH/mymWltApqYIMuE/KWCN7ekRUv7zZs89MNXAXq6fv2dbRCFjfAd TB4zjPAe/HSbL5rI+DzfQoSlJi6kMduZupxDM2cj13jlgEEnjaL2Vgeed2LXpSJDWyuz EP+A== X-Gm-Message-State: AHPjjUh9EovoACn+Alvw+7gf2iFJu7blnk7SuN54JcypNGcH7+Eu9DzW I8ad+QoPTHTEjg16DX4= X-Google-Smtp-Source: AOwi7QDHeITapMPBFTNDRsUbfpnrXuC/qaadooXMdzA3w7seQj78ikswkl2uZR1cFmPkMtE3qOTVOw== X-Received: by 10.25.59.147 with SMTP id d19mr7322169lfl.90.1505306915237; Wed, 13 Sep 2017 05:48:35 -0700 (PDT) Received: from guixsd.ekskole.local ([192.66.115.29]) by smtp.gmail.com with ESMTPSA id r84sm284234ljb.82.2017.09.13.05.48.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Sep 2017 05:48:34 -0700 (PDT) From: Peter Mikkelsen Date: Wed, 13 Sep 2017 14:48:22 +0200 Message-Id: <20170913124822.13251-1-petermikkelsen10@gmail.com> X-Mailer: git-send-email 2.14.1 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -3.8 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.8 (---) The following patches updates meson, adds a special version of meson to be used in the build system, and then adds the build system. It does not support cross compilation yet, but I might add it in the future. Happy hacking! Peter Mikkelsen (3): gnu: meson: Update to 0.42.0. gnu: Add meson-for-build. build-system: Add 'meson-build-system'. Makefile.am | 2 + doc/guix.texi | 55 +++++++ gnu/local.mk | 1 + gnu/packages/build-tools.scm | 20 ++- gnu/packages/patches/meson-for-build-rpath.patch | 24 +++ guix/build-system/meson.scm | 178 +++++++++++++++++++++++ guix/build/meson-build-system.scm | 144 ++++++++++++++++++ 7 files changed, 422 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/meson-for-build-rpath.patch create mode 100644 guix/build-system/meson.scm create mode 100644 guix/build/meson-build-system.scm -- 2.14.1 From unknown Tue Aug 19 09:31:51 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#28444] [PATCH 1/3] gnu: meson: Update to 0.42.0. References: <20170913124822.13251-1-petermikkelsen10@gmail.com> In-Reply-To: <20170913124822.13251-1-petermikkelsen10@gmail.com> Resent-From: Peter Mikkelsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 13 Sep 2017 12:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 28444@debbugs.gnu.org Cc: Peter Mikkelsen Received: via spool by 28444-submit@debbugs.gnu.org id=B28444.150530702916680 (code B ref 28444); Wed, 13 Sep 2017 12:51:01 +0000 Received: (at 28444) by debbugs.gnu.org; 13 Sep 2017 12:50:29 +0000 Received: from localhost ([127.0.0.1]:37299 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ds77d-0004Kx-Eu for submit@debbugs.gnu.org; Wed, 13 Sep 2017 08:50:29 -0400 Received: from mail-lf0-f68.google.com ([209.85.215.68]:33012) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ds77Z-0004Kg-Tb for 28444@debbugs.gnu.org; Wed, 13 Sep 2017 08:50:28 -0400 Received: by mail-lf0-f68.google.com with SMTP id y15so71741lfd.0 for <28444@debbugs.gnu.org>; Wed, 13 Sep 2017 05:50:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=Vy68H4xyzGCFm1FXiNH+M2qIMvR+7T3FRMY/3WOipcc=; b=fpsbAghtAtHlFylSc72mX/vN1wWLvnIWaBQZ2hsZrxXheBx1DC2QlU8cS7u6AeH8vU dwpVh+97z03C6AequP/VW45s/OD9ReaYzU+ncCmWBiZPm38Uw1/gA8beDuZukkGwdl3S 7XnnCAPWG9rU1dRPV7vdntgAhlm+Pu/KoVZ+5y+a3T6tebHPHEJdpXjPov5OlfafkJ67 gx0YrHhw/2NhtpeyUy9w8AE1k0UAgpAjq1mkuX3eW0Lb+zs3zxAuWpwOqu2dxNecEVUf RAN8HdCInqhw9IIm0zuh29UlOML0Ztca7VDbWanCETOfwH5GVryCl6r2Lyru/hDsZNFH hxYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Vy68H4xyzGCFm1FXiNH+M2qIMvR+7T3FRMY/3WOipcc=; b=F1c5GnGrhlepf9b5PmlyLcnsO+mRUjXpr3LXGFNIgDl4VdQvm+aUd8UPQdX/56FKvL fmwdu4vp6+meIap/SgNP+G4Y4w91H3tm3EZXc7RHHc75LXKWuzP4VLzGb0djSBjO1yA/ wVN2wCPOvG0LbIWw098pQ/5VgPvMU26Ka24RRAE5rB6VmLg6uJ6Orqoc/NMZVPbDJCij fKO1kWNyfaV9qAlCEtppzekQQBPygwtYpDkIGL+ORSFBl4Zm+ZrJ2oY25L69upmCms2q Bm6hP6q93X6HkWqEFFrZxsjhu+djqiL2a5oER9qJQgeqSEyP6gSVNlwFIXjDej064eGz Q0RQ== X-Gm-Message-State: AHPjjUh/MagyB290ZG0dvH5tR4PZT0/e2GwKXmUU8vHDkd2xh1DrzL4R yrBKfXdbi3ioRNcxmkw= X-Google-Smtp-Source: AOwi7QAeRZYu193PC6O6I1WcuKVdDx89Osi1MtA/MvNnJR1h+Rhz810hpxU1TEPCJ9ahWufoV3R89A== X-Received: by 10.46.69.68 with SMTP id s65mr7532160lja.143.1505307019567; Wed, 13 Sep 2017 05:50:19 -0700 (PDT) Received: from guixsd.ekskole.local ([192.66.115.29]) by smtp.gmail.com with ESMTPSA id 1sm2889671lje.6.2017.09.13.05.50.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Sep 2017 05:50:18 -0700 (PDT) From: Peter Mikkelsen Date: Wed, 13 Sep 2017 14:50:01 +0200 Message-Id: <20170913125003.13313-1-petermikkelsen10@gmail.com> X-Mailer: git-send-email 2.14.1 X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) * gnu/packages/build-tools.scm (meson): Update to 0.42.0. [propagated-inputs]: Add python. --- gnu/packages/build-tools.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 353c9c8ef..5cc0da55d 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -70,7 +70,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (define-public meson (package (name "meson") - (version "0.41.1") + (version "0.42.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/mesonbuild/meson/" @@ -78,9 +78,10 @@ makes a few sacrifices to acquire fast full and incremental build times.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "12ygjh1dxi8z06nl704rfb6zj0m2zjqp279nymfgzfgy5zq032d4")))) + "0vyp9rkymzzzilhnf04ryszslyp9a0y0wf4agyijd4w5lcnqlcbc")))) (build-system python-build-system) (inputs `(("ninja", ninja))) + (propagated-inputs `(("python" ,python))) (home-page "https://mesonbuild.com/") (synopsis "Build system designed to be fast and user-friendly") (description -- 2.14.1 From unknown Tue Aug 19 09:31:51 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#28444] [PATCH 2/3] gnu: Add meson-for-build. Resent-From: Peter Mikkelsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 13 Sep 2017 12:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 28444@debbugs.gnu.org Cc: Peter Mikkelsen Received: via spool by 28444-submit@debbugs.gnu.org id=B28444.150530703716700 (code B ref 28444); Wed, 13 Sep 2017 12:51:02 +0000 Received: (at 28444) by debbugs.gnu.org; 13 Sep 2017 12:50:37 +0000 Received: from localhost ([127.0.0.1]:37302 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ds77k-0004LI-NG for submit@debbugs.gnu.org; Wed, 13 Sep 2017 08:50:37 -0400 Received: from mail-lf0-f52.google.com ([209.85.215.52]:45232) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ds77g-0004Ko-Sf for 28444@debbugs.gnu.org; Wed, 13 Sep 2017 08:50:35 -0400 Received: by mail-lf0-f52.google.com with SMTP id d17so328530lfe.2 for <28444@debbugs.gnu.org>; Wed, 13 Sep 2017 05:50:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=h3o0Sd+gtH4twRnfptNSZ/eV03RXfPuQ6BkD6LMwuJk=; b=kWWKh6fDTkHFBzdR8Ei0xnrWaNnSezJbDx4poGtaJl8OfZKkW0i3N9bL246WOQ4AtD cXHgCgEfnTKAt8SB4RNYZcXwBd9jGzW3XaJMUJ0KKXXh5TBljxUqiTxtYrj4XgaCxeDh /WSmHrVFqZEftOpkFqa5dRWrbcbP9PqcBqCmcs6DuBhe0zEiY2/MO2fb9bcDiwTTh57x 4A3BwQzycHYiNppUdd7v09su+CyCmHWCJ3nLVtVH86wV62ynOMzAdaXfOAOSUPrb6ge3 L1a6c72r9VyYbxGymr+e59TToatgnadPVi5GG1ewIYC7wCG151/klKdrrJJHkkHEDPSw LEkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=h3o0Sd+gtH4twRnfptNSZ/eV03RXfPuQ6BkD6LMwuJk=; b=Dfc0oLTjQgG3JrgGW6EeTeh4KbymyVNUA+ELXoqpVccbkAToW5ZYiVDuXfBc68vQIx gmP9nlsCdXeAZ9U0t0QT7VvwQJ+k+o/8+sMm3AvOfa2NlsJjMDrW0pbxPr/Orp8RbDsk DNYt6nBhZGOR7l0kazKwyspc5QYfXPwNvKwgNVa54wcgQx/kEW98/DzHSiJN/z5jRAQo kfJyXL7zBL3iB1w9SxSQ4MjkS6fN2srpchIuDmd1fVFxdibtscWgomLkDjLM9v4nTiEm 9KgISJVs40jnl8kaehSs9nxQr5lCariPIBskdL8vttn9JrdYqdb4TLqkN2kw0JHZxRJV XR0g== X-Gm-Message-State: AHPjjUiBYNrMi28QiAn/GHr8c8niSnE7rt13/diuksmu/ztDVBJJqzvY km7DWkXwoZamh/NcUP4= X-Google-Smtp-Source: ADKCNb6yQr/YVpZrov4xWd8/yj8z8Gn86RBCeq6fp9wKxbiPAcQFdJ9WvGBuWR+tMH3fgeq9mvm3iA== X-Received: by 10.46.69.134 with SMTP id s128mr6587598lja.161.1505307026838; Wed, 13 Sep 2017 05:50:26 -0700 (PDT) Received: from guixsd.ekskole.local ([192.66.115.29]) by smtp.gmail.com with ESMTPSA id 1sm2889671lje.6.2017.09.13.05.50.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Sep 2017 05:50:25 -0700 (PDT) From: Peter Mikkelsen Date: Wed, 13 Sep 2017 14:50:02 +0200 Message-Id: <20170913125003.13313-2-petermikkelsen10@gmail.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170913125003.13313-1-petermikkelsen10@gmail.com> References: <20170913125003.13313-1-petermikkelsen10@gmail.com> X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) * gnu/packages/build-tools.scm (meson-for-build): New variable. * gnu/packages/patches/meson-for-build-rpath.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/build-tools.scm | 15 +++++++++++++++ gnu/packages/patches/meson-for-build-rpath.patch | 24 ++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 gnu/packages/patches/meson-for-build-rpath.patch diff --git a/gnu/local.mk b/gnu/local.mk index c1bc39110..cbf98b6e1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -852,6 +852,7 @@ dist_patch_DATA = \ %D%/packages/patches/mcrypt-CVE-2012-4527.patch \ %D%/packages/patches/mesa-skip-disk-cache-test.patch \ %D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch \ + %D%/packages/patches/meson-for-build-rpath.patch \ %D%/packages/patches/metabat-fix-compilation.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \ %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \ diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 5cc0da55d..a5e416db7 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -93,6 +93,21 @@ files}, are written in a custom domain-specific language (DSL) that resembles Python.") (license license:asl2.0))) +(define-public meson-for-build + (package + (inherit meson) + (name "meson-for-build") + (version "0.42.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mesonbuild/meson/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vyp9rkymzzzilhnf04ryszslyp9a0y0wf4agyijd4w5lcnqlcbc")) + (patches (search-patches "meson-for-build-rpath.patch")))))) + (define-public premake4 (package (name "premake") diff --git a/gnu/packages/patches/meson-for-build-rpath.patch b/gnu/packages/patches/meson-for-build-rpath.patch new file mode 100644 index 000000000..4e20c9aed --- /dev/null +++ b/gnu/packages/patches/meson-for-build-rpath.patch @@ -0,0 +1,24 @@ +This patch removes a part of meson that clears the rpath upon installation. +This will only be applied to a special version of meson, used for the +meson-build-system. + +Patch by Peter Mikkelsen + +--- meson-0.42.0/mesonbuild/scripts/meson_install.py.orig 2017-09-09 01:49:39.147374148 +0200 ++++ meson-0.42.0/mesonbuild/scripts/meson_install.py 2017-09-09 01:51:01.209134717 +0200 +@@ -345,15 +345,6 @@ + print("Symlink creation does not work on this platform. " + "Skipping all symlinking.") + printed_symlink_error = True +- if is_elf_platform() and os.path.isfile(outname): +- try: +- e = depfixer.Elf(outname, False) +- e.fix_rpath(install_rpath) +- except SystemExit as e: +- if isinstance(e.code, int) and e.code == 0: +- pass +- else: +- raise + + def run(args): + global install_log_file -- 2.14.1 From unknown Tue Aug 19 09:31:51 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#28444] [PATCH 3/3] build-system: Add 'meson-build-system'. Resent-From: Peter Mikkelsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 13 Sep 2017 12:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 28444@debbugs.gnu.org Cc: Peter Mikkelsen Received: via spool by 28444-submit@debbugs.gnu.org id=B28444.150530704016718 (code B ref 28444); Wed, 13 Sep 2017 12:51:02 +0000 Received: (at 28444) by debbugs.gnu.org; 13 Sep 2017 12:50:40 +0000 Received: from localhost ([127.0.0.1]:37305 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ds77o-0004LX-2F for submit@debbugs.gnu.org; Wed, 13 Sep 2017 08:50:40 -0400 Received: from mail-lf0-f53.google.com ([209.85.215.53]:47075) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ds77m-0004L8-1h for 28444@debbugs.gnu.org; Wed, 13 Sep 2017 08:50:38 -0400 Received: by mail-lf0-f53.google.com with SMTP id m199so319344lfe.3 for <28444@debbugs.gnu.org>; Wed, 13 Sep 2017 05:50:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=DQ/IcoD4nxRIaoQIim29Dv+SpT1SO6sspSvUBCouhbE=; b=KQqIWPDs6+BcTatNY6g2yLRR7TngDDvKR03AR4NVvfXzLiGfElfi1X66rD/K1eXGqy xFEitMTmsGcmZv36WybcXQwgvUCoARPOTiTnnDdsCHnWGiB9KCMmweYYDzK9eNiY93tr 99t7FqQK9fZi98BVqkt1NFk35G6RBVlaVad120lF58NcYSFhmtT98nCv1pxH08bvu2Mc 5ZPqEXLLiSfsOKCoargf9l1HzL2/Xs6s85hzrdcCLrmwNqSNvKJf0nJn0AEYhUQIWsyy OAYQLKaXRilmBUqvDLVk9i/0G+bSUpFkwgJNKXLeTlGNyoJoGqNjAW+dsNoYKEjEYHe2 3R2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DQ/IcoD4nxRIaoQIim29Dv+SpT1SO6sspSvUBCouhbE=; b=tMdJab9dFnqRzbD5V7uS7yx7Ez2lPzVg+5J+lqO41M4CEG1zIlt5TIEmqvnWgv4W33 BqeaEQaaFVRIMpT1ZcjJiiNNDI5kOK0l392Eys8n6F5sKkbDjQix+gE2pNakELbIwY0G IQuHTxc5CDDTR/rp7g4tl48eXAB1fpx77OGepR63t8XUNHZ2VFX/RRMqDeYY0qUduyhs dctiw02Z0+2IgIVP+0TY8xkG5F8L4jsdnkGBTdA0E+/VrHHZMwRyFgomeQV232QKojtP fRGAq9jP6INkUlIqufv+o0bKRptPs/Gj8auzcooK8wjNgIfdtYxiRfjQiDHYJBFLgbi8 Ux8g== X-Gm-Message-State: AHPjjUjZhAiMo+gS/3W97Z+SAz5YQXNvpq2O7IfBZuAEG5+mpw3uX2es CKZIA6W5xaSpogv0hJs= X-Google-Smtp-Source: ADKCNb7hJwr3oeoEref0g35rQIBU/RS5r92H7+FcECsm2Z2o7W7MrzrEsVK8f0v2PG1lUIG953z2xg== X-Received: by 10.46.65.27 with SMTP id o27mr6143265lja.142.1505307031684; Wed, 13 Sep 2017 05:50:31 -0700 (PDT) Received: from guixsd.ekskole.local ([192.66.115.29]) by smtp.gmail.com with ESMTPSA id 1sm2889671lje.6.2017.09.13.05.50.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Sep 2017 05:50:30 -0700 (PDT) From: Peter Mikkelsen Date: Wed, 13 Sep 2017 14:50:03 +0200 Message-Id: <20170913125003.13313-3-petermikkelsen10@gmail.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170913125003.13313-1-petermikkelsen10@gmail.com> References: <20170913125003.13313-1-petermikkelsen10@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) * Makefile.am (MODULES): Add 'guix/build-system/meson.scm' and 'guix/build/meson-build-system.scm'. * guix/build-system/meson.scm: New file. * guix/build/meson-build-system.scm: New file. * doc/guix.texi (Build Systems): Add 'meson-build-system'. --- Makefile.am | 2 + doc/guix.texi | 55 ++++++++++++ guix/build-system/meson.scm | 178 ++++++++++++++++++++++++++++++++++++++ guix/build/meson-build-system.scm | 144 ++++++++++++++++++++++++++++++ 4 files changed, 379 insertions(+) create mode 100644 guix/build-system/meson.scm create mode 100644 guix/build/meson-build-system.scm diff --git a/Makefile.am b/Makefile.am index 4c2e77d19..adeb6e621 100644 --- a/Makefile.am +++ b/Makefile.am @@ -79,6 +79,7 @@ MODULES = \ guix/build-system/dub.scm \ guix/build-system/emacs.scm \ guix/build-system/font.scm \ + guix/build-system/meson.scm \ guix/build-system/minify.scm \ guix/build-system/asdf.scm \ guix/build-system/glib-or-gtk.scm \ @@ -106,6 +107,7 @@ MODULES = \ guix/build/cmake-build-system.scm \ guix/build/dub-build-system.scm \ guix/build/emacs-build-system.scm \ + guix/build/meson-build-system.scm \ guix/build/minify-build-system.scm \ guix/build/font-build-system.scm \ guix/build/asdf-build-system.scm \ diff --git a/doc/guix.texi b/doc/guix.texi index 063369122..16bb20b4a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3811,6 +3811,61 @@ need to be copied into place. It copies font files to standard locations in the output directory. @end defvr +@defvr {Scheme Variable} meson-build-system +This variable is exported by @code{(guix build-system meson)}. It +implements the build procedure for packages that use +@url{http://mesonbuild.com, meson} as their build system. + +It adds both @code{meson} and @code{ninja} to the set of inputs, and they +can be changed with the parameters @code{#:meson} and @code{#:ninja} if needed. +The default @code{meson} is @code{meson-for-build} which is special because +it doesn't clear the @code{RUNPATH} of binaries and libraries when they are +installed. + +The build-system is an extension of @var{gnu-build-system}, but with the +following phases changed to some specific for meson: + +@table @code + +@item configure +The phase runs @code{meson} with the flags specified in +@code{#:configure-flags}. The flag @code{--build-type} is always set to +@code{plain} unless something else is specified in @code{#:build-type}. + +@item build +The phase runs @code{ninja} to build the package in parallel by default, but +this can be changed with @code{#:parallel-build?}. + +@item check +The phase runs @code{ninja} with the target specified in @code{#:test-target}, +which is @var{``test''} by default. + +@item install +The phase runs @code{ninja install} and can not be changed. +@end table + +Apart from that, the build system also adds the following phases: + +@table @code + +@item fix-runpath +This phase tries to locate the local directories in the package being build, +which has libraries that some of the binaries need. If any are found, they will +be added to the programs @code{RUNPATH}. It is needed because +@code{meson-for-build} keeps the @code{RUNPATH} of binaries and libraries from +when they are build, but often that is not the @code{RUNPATH} we want. +Therefor it is also shrinked to the minimum needed by the program. + +@item glib-or-gtk-wrap +This phase is the phase provided by @var{glib-or-gtk-build-system}, and it +is not enabled by default. It can be enabled with @code{#:glib-or-gtk?}. + +@item glib-or-gtk-compile-schemas +This phase is the phase provided by @var{glib-or-gtk-build-system}, and it +is not enabled by default. It can be enabled with @code{#:glib-or-gtk?}. +@end table +@end defvr + Lastly, for packages that do not need anything as sophisticated, a ``trivial'' build system is provided. It is trivial in the sense that it provides basically no support: it does not pull any implicit inputs, diff --git a/guix/build-system/meson.scm b/guix/build-system/meson.scm new file mode 100644 index 000000000..d66ec760a --- /dev/null +++ b/guix/build-system/meson.scm @@ -0,0 +1,178 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Peter Mikkelsen +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix build-system meson) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (guix derivations) + #:use-module (guix search-paths) + #:use-module (guix build-system) + #:use-module (guix build-system gnu) + #:use-module (guix build-system glib-or-gtk) + #:use-module (guix packages) + #:use-module (ice-9 match) + #:export (%meson-build-system-modules + meson-build-system)) + +;; Commentary: +;; +;; Standard build procedure for packages using Meson. This is implemented as an +;; extension of `gnu-build-system', with the option to turn on the glib/gtk +;; phases from `glib-or-gtk-build-system'. +;; +;; Code: + +(define %meson-build-system-modules + ;; Build-side modules imported by default. + `((guix build meson-build-system) + (guix build rpath) + ;; The modules from glib-or-gtk contains the modules from gnu-build-system, + ;; so there is no need to import that too. + ,@%glib-or-gtk-build-system-modules)) + +(define (default-ninja) + "Return the default ninja package." + ;; Lazily resolve the binding to avoid a circular dependency. + (let ((module (resolve-interface '(gnu packages ninja)))) + (module-ref module 'ninja))) + +(define (default-meson) + "Return the default meson package." + ;; Lazily resolve the binding to avoid a circular dependency. + (let ((module (resolve-interface '(gnu packages build-tools)))) + (module-ref module 'meson-for-build))) + +(define (default-patchelf) + "Return the default patchelf package." + ;; Lazily resolve the binding to avoid a circular dependency. + (let ((module (resolve-interface '(gnu packages elf)))) + (module-ref module 'patchelf))) + +(define* (lower name + #:key source inputs native-inputs outputs system target + (meson (default-meson)) + (ninja (default-ninja)) + (glib-or-gtk #f) + #:allow-other-keys + #:rest arguments) + "Return a bag for NAME." + (define private-keywords + `(#:source #:meson #:ninja #:inputs #:native-inputs #:outputs #:target)) + + (and (not target) ;; TODO: add support for cross-compilation. + (bag + (name name) + (system system) + (build-inputs `(("meson" ,meson) + ("ninja" ,ninja) + ;; Add patchelf for (guix build rpath) to work. + ("patchelf" ,(default-patchelf)) + ,@native-inputs)) + (host-inputs `(,@(if source + `(("source" ,source)) + '()) + ,@inputs + ;; Keep the standard inputs of 'gnu-build-system'. + ,@(standard-packages))) + (outputs outputs) + (build meson-build) + (arguments (strip-keyword-arguments private-keywords arguments))))) + +(define* (meson-build store name inputs + #:key (guile #f) + (outputs '("out")) + (configure-flags ''()) + (search-paths '()) + (build-type "plain") + (tests? #t) + (test-target "test") + (glib-or-gtk? #f) + (parallel-build? #t) + (parallel-tests? #f) + (validate-runpath? #t) + (patch-shebangs? #t) + (strip-binaries? #t) + (strip-flags ''("--strip-debug")) + (strip-directories ''("lib" "lib64" "libexec" + "bin" "sbin")) + (elf-directories ''("lib" "lib64" "libexec" + "bin" "sbin")) + (phases '(@ (guix build meson-build-system) + %standard-phases)) + (system (%current-system)) + (imported-modules %meson-build-system-modules) + (modules '((guix build meson-build-system) + (guix build utils)))) + "Build SOURCE using MESON, and with INPUTS, assuming that SOURCE +has a 'meson.build' file." + (define builder + `(let ((build-phases (if ,glib-or-gtk? + ,phases + (modify-phases ,phases + (delete 'glib-or-gtk-compile-schemas) + (delete 'glib-or-gtk-wrap))))) + (use-modules ,@modules) + (meson-build #:source ,(match (assoc-ref inputs "source") + (((? derivation? source)) + (derivation->output-path source)) + ((source) + source) + (source + source)) + #:system ,system + #:outputs %outputs + #:inputs %build-inputs + #:search-paths ',(map search-path-specification->sexp + search-paths) + #:phases build-phases + #:configure-flags ,configure-flags + #:build-type ,build-type + #:tests? ,tests? + #:test-target ,test-target + #:parallel-build? ,parallel-build? + #:parallel-tests? ,parallel-tests? + #:validate-runpath? ,validate-runpath? + #:patch-shebangs? ,patch-shebangs? + #:strip-binaries? ,strip-binaries? + #:strip-flags ,strip-flags + #:strip-directories ,strip-directories + #:elf-directories ,elf-directories))) + + (define guile-for-build + (match guile + ((? package?) + (package-derivation store guile system #:graft? #f)) + (#f ; the default + (let* ((distro (resolve-interface '(gnu packages commencement))) + (guile (module-ref distro 'guile-final))) + (package-derivation store guile system #:graft? #f))))) + + (build-expression->derivation store name builder + #:system system + #:inputs inputs + #:modules imported-modules + #:outputs outputs + #:guile-for-build guile-for-build)) + +(define meson-build-system + (build-system + (name 'meson) + (description "The standard Meson build system") + (lower lower))) + +;;; meson.scm ends here diff --git a/guix/build/meson-build-system.scm b/guix/build/meson-build-system.scm new file mode 100644 index 000000000..1e544f569 --- /dev/null +++ b/guix/build/meson-build-system.scm @@ -0,0 +1,144 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Peter Mikkelsen +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix build meson-build-system) + #:use-module ((guix build gnu-build-system) #:prefix gnu:) + #:use-module ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + #:use-module (guix build utils) + #:use-module (guix build rpath) + #:use-module (guix build gremlin) + #:use-module (guix elf) + #:use-module (ice-9 match) + #:use-module (rnrs io ports) + #:export (%standard-phases + %glib-or-gtk-phases + meson-build)) + +;; Commentary: +;; +;; Builder-side code of the standard meson build procedure. +;; +;; Code: + +(define* (configure #:key outputs configure-flags build-type + #:allow-other-keys) + "Configure the given package" + (let* ((out (assoc-ref outputs "out")) + (source-dir (getcwd)) + (build-dir "../build") + (prefix (assoc-ref outputs "out")) + (args `(,(string-append "--prefix=" prefix) + ,(string-append "--buildtype=" build-type) + ,@configure-flags + ,source-dir))) + (mkdir build-dir) + (chdir build-dir) + (zero? (apply system* "meson" args)))) + +(define* (build #:key parallel-build? + #:allow-other-keys) + "Build a given meson package." + (zero? (apply system* "ninja" + (if parallel-build? + `("-j" ,(number->string (parallel-job-count))) + '("-j" "1"))))) + +(define* (check #:key test-target parallel-tests? tests? + #:allow-other-keys) + (unless parallel-tests? + (setenv "MESON_TESTTHREADS" "1")) + (if tests? + (zero? (system* "ninja" test-target)) + (begin + (format #t "test suite not run~%") + #t))) + +(define* (install #:rest args) + (zero? (system* "ninja" "install"))) + +(define* (fix-runpath #:key elf-directories outputs + #:allow-other-keys) + "Try to make sure all ELF files in ELF-DIRECTORIES are able to find their +local dependencies in their RUNPATH. Also shrink the RUNPATH to what is needed, +since alot of directories are left over from meson." + + (define (find-deps dep-name elf-files) + "Find the directories (if any) that contains DEP-NAME. The directories +searched are the ones that ELF-FILES are in." + (let* ((matches (filter (lambda (file) + (string=? dep-name (basename file))) + elf-files))) + (map dirname matches))) + + (define (file-needed file) + "Return a list of libraries that FILE needs." + (let* ((elf (call-with-input-file file + (compose parse-elf get-bytevector-all))) + (dyninfo (elf-dynamic-info elf))) + (if dyninfo + (elf-dynamic-info-needed dyninfo) + '()))) + + (define (handle-file file elf-files) + "If FILE needs any libs that are part of ELF-FILES, the RUNPATH +is modified accordingly." + (let* ((dep-dirs (apply append (map (lambda (dep-name) + (find-deps dep-name elf-files)) + (file-needed file))))) + (unless (null? dep-dirs) + (augment-rpath file (string-join dep-dirs ":"))))) + + (define handle-output + (match-lambda + ((output . directory) + (let* ((elf-dirnames (map (lambda (subdir) + (string-append directory "/" subdir)) + elf-directories)) + (excisting-elf-dirs (filter (lambda (dir) + (and (file-exists? dir) + (file-is-directory? dir))) + elf-dirnames)) + (elf-pred (lambda (name stat) + (elf-file? name))) + (elf-list (apply append (map (lambda (dir) + (find-files dir elf-pred)) + excisting-elf-dirs)))) + (for-each (lambda (elf-file) + (system* "patchelf" "--shrink-rpath" elf-file) + (handle-file elf-file elf-list)) + elf-list))))) + (for-each handle-output outputs) + #t) + +(define %standard-phases + ;; The standard-phases of glib-or-gtk contains a superset of the phases + ;; from the gnu-build-system. If the glib-or-gtk? key is #f (the default) + ;; then the extra phases will be removed again in (guix build-system meson). + (modify-phases glib-or-gtk:%standard-phases + (replace 'configure configure) + (replace 'build build) + (replace 'check check) + (replace 'install install) + (add-after 'strip 'fix-runpath fix-runpath))) + +(define* (meson-build #:key inputs phases + #:allow-other-keys #:rest args) + "Build the given package, applying all of PHASES in order." + (apply gnu:gnu-build #:inputs inputs #:phases phases args)) + +;;; meson-build-system.scm ends here -- 2.14.1 From unknown Tue Aug 19 09:31:51 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#28444] [PATCH 1/3] gnu: meson: Update to 0.42.0. Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 15 Sep 2017 20:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Peter Mikkelsen Cc: 28444@debbugs.gnu.org Received: via spool by 28444-submit@debbugs.gnu.org id=B28444.150550883219306 (code B ref 28444); Fri, 15 Sep 2017 20:54:01 +0000 Received: (at 28444) by debbugs.gnu.org; 15 Sep 2017 20:53:52 +0000 Received: from localhost ([127.0.0.1]:43151 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsxcW-00051K-6w for submit@debbugs.gnu.org; Fri, 15 Sep 2017 16:53:52 -0400 Received: from eggs.gnu.org ([208.118.235.92]:41265) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsxcU-000518-KZ for 28444@debbugs.gnu.org; Fri, 15 Sep 2017 16:53:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dsxcO-0006i5-TB for 28444@debbugs.gnu.org; Fri, 15 Sep 2017 16:53:45 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:46751) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dsxcO-0006i1-PZ; Fri, 15 Sep 2017 16:53:44 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=42818 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dsxcO-0005yg-BM; Fri, 15 Sep 2017 16:53:44 -0400 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <20170913124822.13251-1-petermikkelsen10@gmail.com> <20170913125003.13313-1-petermikkelsen10@gmail.com> Date: Fri, 15 Sep 2017 22:53:42 +0200 In-Reply-To: <20170913125003.13313-1-petermikkelsen10@gmail.com> (Peter Mikkelsen's message of "Wed, 13 Sep 2017 14:50:01 +0200") Message-ID: <87k20zlm3t.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Peter Mikkelsen skribis: > * gnu/packages/build-tools.scm (meson): Update to 0.42.0. > [propagated-inputs]: Add python. Applied! From unknown Tue Aug 19 09:31:51 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#28444] [PATCH 2/3] gnu: Add meson-for-build. Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 15 Sep 2017 20:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Peter Mikkelsen Cc: 28444@debbugs.gnu.org Received: via spool by 28444-submit@debbugs.gnu.org id=B28444.150550906119636 (code B ref 28444); Fri, 15 Sep 2017 20:58:02 +0000 Received: (at 28444) by debbugs.gnu.org; 15 Sep 2017 20:57:41 +0000 Received: from localhost ([127.0.0.1]:43155 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsxgC-00056d-N2 for submit@debbugs.gnu.org; Fri, 15 Sep 2017 16:57:41 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42635) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsxg8-00056O-GH for 28444@debbugs.gnu.org; Fri, 15 Sep 2017 16:57:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dsxg0-0001FQ-3r for 28444@debbugs.gnu.org; Fri, 15 Sep 2017 16:57:31 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:46838) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dsxfz-0001FM-Vy; Fri, 15 Sep 2017 16:57:28 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=42828 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dsxfz-0005W3-G6; Fri, 15 Sep 2017 16:57:27 -0400 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <20170913125003.13313-1-petermikkelsen10@gmail.com> <20170913125003.13313-2-petermikkelsen10@gmail.com> Date: Fri, 15 Sep 2017 22:57:25 +0200 In-Reply-To: <20170913125003.13313-2-petermikkelsen10@gmail.com> (Peter Mikkelsen's message of "Wed, 13 Sep 2017 14:50:02 +0200") Message-ID: <87fubnllxm.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Peter Mikkelsen skribis: > * gnu/packages/build-tools.scm (meson-for-build): New variable. > * gnu/packages/patches/meson-for-build-rpath.patch: New file. > * gnu/local.mk (dist_patch_DATA): Register it. Applied! I=E2=80=99ve marked it as =E2=80=9Chidden=E2=80=9D so that it doesn=E2=80= =99t show up in UIs (patch below). Let me know if you think that=E2=80=99s not OK! --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index a5e416db7..c535f5240 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -106,7 +106,10 @@ Python.") (sha256 (base32 "0vyp9rkymzzzilhnf04ryszslyp9a0y0wf4agyijd4w5lcnqlcbc")) - (patches (search-patches "meson-for-build-rpath.patch")))))) + (patches (search-patches "meson-for-build-rpath.patch")))) + + ;; People should probably install "meson", not "meson-for-build". + (properties `((hidden? . #t))))) (define-public premake4 (package --=-=-=-- From unknown Tue Aug 19 09:31:51 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#28444] [PATCH 2/3] gnu: Add meson-for-build. Resent-From: Peter Mikkelsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 15 Sep 2017 21:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 28444@debbugs.gnu.org Received: via spool by 28444-submit@debbugs.gnu.org id=B28444.150550926520023 (code B ref 28444); Fri, 15 Sep 2017 21:02:02 +0000 Received: (at 28444) by debbugs.gnu.org; 15 Sep 2017 21:01:05 +0000 Received: from localhost ([127.0.0.1]:43159 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsxjU-0005Ct-R8 for submit@debbugs.gnu.org; Fri, 15 Sep 2017 17:01:05 -0400 Received: from mail-io0-f181.google.com ([209.85.223.181]:45025) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsxjR-0005CH-Gh for 28444@debbugs.gnu.org; Fri, 15 Sep 2017 17:01:03 -0400 Received: by mail-io0-f181.google.com with SMTP id v36so11456538ioi.1 for <28444@debbugs.gnu.org>; Fri, 15 Sep 2017 14:01:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=nVv5rEisqDygrMRke47j+hD5R1NUHquUOo5zIEMC+cE=; b=qPvzwcfhk6XDSobFeaO3X4NGBE+FUEleo5kiHq/MeiRcaZqeG/C0yiGVJXdhayYdvj hqo5sSBoAq8NNCAv15mYn/JUTMJ508CmuDl7QjOLMou7b9VHCAD9eO4yRgSluI1PTHwU Ttq41r9bTEcOyO1CGeFNxEN6x1YC0z367KsEvZjkuHz0iEGHekxtkJmTNJwkM9wMERSp VwVHtG1TyCQIoG2wSajS5HqSFWi8NGqpd8MlDoth6Q4Lf6umE5+aVlaOLNtK8M3DIN8O wVqyRxAiRgvzu70D7sbJysgGmRuFR+an0Bi9mV2SYMktSX9MaWonU08FQmHVeOO/5RJQ XBug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=nVv5rEisqDygrMRke47j+hD5R1NUHquUOo5zIEMC+cE=; b=XGuErc39B8kNxi9RU4jDF+rsZWlmxuarG2uDfAdI5q7H42zu4hcW267fVYGZ0pqjt7 bqkUB9HNPCVx+SVL3HCDygXrJ6c9ErUFP1vAWyss7QnuteLlqsVaxDXM1cV1KujhxUdv G2ALrm5KYiIe48On5ZZc9i8z8PbbIZNdsw9Cf9hlakJqF3i9eFJYUwoEvMT0rwkJ9SVL Zg7UaW/9IIYwbJaQ0y/aihRfCQnGUOjBPbpSOBjWK0iRX9ppWJPkH+qMRwP22WRTTOez eBvvXl+5Q5tWIC/uAw0D40dxVSZIplPk0ZL/4idj+ZGJ9SPBfvHMIiU/twkfpg57SVt9 zEcw== X-Gm-Message-State: AHPjjUiVD4iLijy1MkOPMnH/O7VpOu8Rza6562oOvkle1NvUDImMjkqg N/mNR7FSVD0NNFgccrd4KYyyYkN6ra2WEdMYI3A= X-Google-Smtp-Source: AOwi7QA5dhFSx+HNGSeWKQeYRkqi6OFu8Qs49FMfGMRpWonN6m0YKLaIweFi0YFyV1kmF6JzOTl9zYsWvx8KxPfNtbQ= X-Received: by 10.107.154.71 with SMTP id c68mr10374546ioe.95.1505509253620; Fri, 15 Sep 2017 14:00:53 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.144.83 with HTTP; Fri, 15 Sep 2017 14:00:52 -0700 (PDT) Received: by 10.79.144.83 with HTTP; Fri, 15 Sep 2017 14:00:52 -0700 (PDT) In-Reply-To: <87fubnllxm.fsf@gnu.org> References: <20170913125003.13313-1-petermikkelsen10@gmail.com> <20170913125003.13313-2-petermikkelsen10@gmail.com> <87fubnllxm.fsf@gnu.org> From: Peter Mikkelsen Date: Fri, 15 Sep 2017 23:00:52 +0200 Message-ID: Content-Type: multipart/alternative; boundary="001a1140f90244a790055940b0c5" X-Spam-Score: -2.0 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.0 (--) --001a1140f90244a790055940b0c5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Den 15. sep. 2017 22.57 skrev "Ludovic Court=C3=A8s" : Peter Mikkelsen skribis: > * gnu/packages/build-tools.scm (meson-for-build): New variable. > * gnu/packages/patches/meson-for-build-rpath.patch: New file. > * gnu/local.mk (dist_patch_DATA): Register it. Applied! I=E2=80=99ve marked it as =E2=80=9Chidden=E2=80=9D so that it doesn=E2=80= =99t show up in UIs (patch below). Let me know if you think that=E2=80=99s not OK! I didn't know that was possible, but it seems like the right thing to do, thanks :) --001a1140f90244a790055940b0c5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


Den 15. sep. 2017 22.57 skrev "Ludovic Court=C3=A8s" &l= t;ludo@gnu.org>:
Peter Mikkelsen <petermikkelsen10@gmail.com> skribis:

> * gnu/packages/build-tools.scm (meson-for-build): New variable.
> * gnu/packages/patches/meson-for-build-rpath.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Register it.

Applied!

I=E2=80=99ve marked it as =E2=80=9Chidden=E2=80=9D so that it doesn=E2=80= =99t show up in UIs (patch
below).=C2=A0 Let me know if you think that=E2=80=99s not OK!


= I didn't know that was possible, but it seems like the right thing to d= o, thanks :)
--001a1140f90244a790055940b0c5-- From unknown Tue Aug 19 09:31:51 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#28444] [PATCH 3/3] build-system: Add 'meson-build-system'. Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 15 Sep 2017 21:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Peter Mikkelsen Cc: 28444@debbugs.gnu.org Received: via spool by 28444-submit@debbugs.gnu.org id=B28444.150550967220574 (code B ref 28444); Fri, 15 Sep 2017 21:08:01 +0000 Received: (at 28444) by debbugs.gnu.org; 15 Sep 2017 21:07:52 +0000 Received: from localhost ([127.0.0.1]:43164 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsxq3-0005Ll-If for submit@debbugs.gnu.org; Fri, 15 Sep 2017 17:07:51 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47713) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsxq1-0005LZ-1O for 28444@debbugs.gnu.org; Fri, 15 Sep 2017 17:07:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dsxpu-0008On-H1 for 28444@debbugs.gnu.org; Fri, 15 Sep 2017 17:07:43 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:47249) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dsxpu-0008Oa-DL; Fri, 15 Sep 2017 17:07:42 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=42848 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dsxpt-0006hr-Sl; Fri, 15 Sep 2017 17:07:42 -0400 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <20170913125003.13313-1-petermikkelsen10@gmail.com> <20170913125003.13313-3-petermikkelsen10@gmail.com> Date: Fri, 15 Sep 2017 23:07:39 +0200 In-Reply-To: <20170913125003.13313-3-petermikkelsen10@gmail.com> (Peter Mikkelsen's message of "Wed, 13 Sep 2017 14:50:03 +0200") Message-ID: <87a81vllgk.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Peter Mikkelsen skribis: > * Makefile.am (MODULES): Add 'guix/build-system/meson.scm' and > 'guix/build/meson-build-system.scm'. > * guix/build-system/meson.scm: New file. > * guix/build/meson-build-system.scm: New file. > * doc/guix.texi (Build Systems): Add 'meson-build-system'. Overall LGTM! I have minor questions and comments: > +(define* (configure #:key outputs configure-flags build-type > + #:allow-other-keys) > + "Configure the given package" Make sure to add a period at the end of sentences. :-) > +(define* (fix-runpath #:key elf-directories outputs > + #:allow-other-keys) ELF-DIRECTORIES should default to a list, probably the empty list (here it defaults to #f, which cannot work.) > + "Try to make sure all ELF files in ELF-DIRECTORIES are able to find th= eir > +local dependencies in their RUNPATH. Also shrink the RUNPATH to what is= needed, > +since alot of directories are left over from meson." =E2=80=9Ca lot=E2=80=9D According to this description, half of it corresponds to the =E2=80=98validate-runpath=E2=80=99 phase, no? The second half is the shrink-RUNPATH thing, but can you clarify why it is needed? Which directories in RUNPATH are =E2=80=9Cleft over from meson= =E2=80=9D? > + (define (find-deps dep-name elf-files) > + "Find the directories (if any) that contains DEP-NAME. The director= ies > +searched are the ones that ELF-FILES are in." > + (let* ((matches (filter (lambda (file) > + (string=3D? dep-name (basename file))) > + elf-files))) > + (map dirname matches))) Avoid local variable =E2=80=98matches=E2=80=99, to keep it concise. Also, = for inner =E2=80=98define=E2=80=99s, use a comment instead of a docstring (the docstr= ing would be inaccessible.) > + (define (file-needed file) > + "Return a list of libraries that FILE needs." > + (let* ((elf (call-with-input-file file > + (compose parse-elf get-bytevector-all))) > + (dyninfo (elf-dynamic-info elf))) > + (if dyninfo > + (elf-dynamic-info-needed dyninfo) > + '()))) > + > + (define (handle-file file elf-files) > + "If FILE needs any libs that are part of ELF-FILES, the RUNPATH > +is modified accordingly." > + (let* ((dep-dirs (apply append (map (lambda (dep-name) > + (find-deps dep-name elf-files)) > + (file-needed file))))) > + (unless (null? dep-dirs) > + (augment-rpath file (string-join dep-dirs ":"))))) > + > + (define handle-output > + (match-lambda > + (elf-list (apply append (map (lambda (dir) > + (find-files dir elf-pred)) > + excisting-elf-dirs)))) (apply append lstlst) =3D (concatenate lstlst) That=E2=80=99s it! Could you comment and send an updated patch? Thanks for working on it, looks like it=E2=80=99s going to be useful very s= oon! Ludo=E2=80=99. From unknown Tue Aug 19 09:31:51 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#28444] [PATCH 3/3] build-system: Add 'meson-build-system'. Resent-From: Peter Mikkelsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 16 Sep 2017 11:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 28444@debbugs.gnu.org Received: via spool by 28444-submit@debbugs.gnu.org id=B28444.150556012731396 (code B ref 28444); Sat, 16 Sep 2017 11:09:02 +0000 Received: (at 28444) by debbugs.gnu.org; 16 Sep 2017 11:08:47 +0000 Received: from localhost ([127.0.0.1]:43383 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtAxq-0008AJ-7b for submit@debbugs.gnu.org; Sat, 16 Sep 2017 07:08:46 -0400 Received: from mail-io0-f175.google.com ([209.85.223.175]:43131) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtAxo-0008A6-4d for 28444@debbugs.gnu.org; Sat, 16 Sep 2017 07:08:45 -0400 Received: by mail-io0-f175.google.com with SMTP id k101so12430893iod.0 for <28444@debbugs.gnu.org>; Sat, 16 Sep 2017 04:08:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=lGUohJNIIPQJ/pHnGfn8iiMUN8+gkHSem79xVitYJd4=; b=AAr8f7qpPr65UHBz8kJyZkv6Up+FM8fkKdoy6dB4XDn7jgTjAnPv/xTo+5XgOrk6wN ITE0vJdRG69Xtg6y0kooswj6rrMch7A6X1fTSE8o5BNpyWpjUy7eKOZ0bTL+119W6NJD 9Zv8MzkdY5kPuCp9iw3vgBTL+gXHhOzN/xCeBJKt0YsbMczk88vm7CxpELo4yDbo7945 ZyKPgGx00/mLMun+zxYF0gN9nYGh9zqYCvfEqoUR2vaWXnUHHu3lG87QtI0QKCU4DGWl 7l7rjejUlPjDvRVrJTI4ON4l24YjCkgPNKa5j52N10b3ZaIt+xXNbNqRz05PcaEXCLEQ FmWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=lGUohJNIIPQJ/pHnGfn8iiMUN8+gkHSem79xVitYJd4=; b=XqPjq0D6xbZVSzDspgrptLwupKlUDlGJVxtcrsyWlpT+/OQWjsczYbnKnWlF7baZex JnTJiJ9iEolLcCEH1eme3SXLDjcDkUPTw1C9dsXRX2AEFJ1u++HcTDH8XfX51rNS1wih 2440UpzrfPUABDJGEU0brzPNNf2vxjAI4blxr91XtDIiy8AHZe1NE4J/6oPEQdbOWbUn Ms+ABb6YZpwL27Kx1nM8M4TtL6UQXmKlfGbs3LGGgZgOSjy7DJ6rUq/1pu6PtMKFeI0e g5TCDePUJaeZY7+ZSbwSPv4mrCB2h4tMynGTGMxEyI7A5orNH2UzV2Qwt/FAK+EQtx8b Z23Q== X-Gm-Message-State: AHPjjUiAJF+HFDeeP2qt1m//Q6eZWHrL14HtLuUfamjc2kiklRNKnLtz F1oyQQmXCsFq9O9TrU2zAA7i1cjqPt3nFw1EQV5TsQ== X-Google-Smtp-Source: AOwi7QAWe6mJdhDSa76Xx5iMymz5OAMAn916n7Wx/2H/SGHByrB/5EvKw4hEpqaRyUOc2YIX1sZCaL1BUFWadzw+Nkg= X-Received: by 10.107.28.129 with SMTP id c123mr11404133ioc.303.1505560118260; Sat, 16 Sep 2017 04:08:38 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.144.83 with HTTP; Sat, 16 Sep 2017 04:08:37 -0700 (PDT) In-Reply-To: <87a81vllgk.fsf@gnu.org> References: <20170913125003.13313-1-petermikkelsen10@gmail.com> <20170913125003.13313-3-petermikkelsen10@gmail.com> <87a81vllgk.fsf@gnu.org> From: Peter Mikkelsen Date: Sat, 16 Sep 2017 13:08:37 +0200 Message-ID: Content-Type: multipart/mixed; boundary="001a113ff5e809b97d05594c8833" X-Spam-Score: -2.0 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.0 (--) --001a113ff5e809b97d05594c8833 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 2017-09-15 23:07 GMT+02:00 Ludovic Court=C3=A8s : > > Peter Mikkelsen skribis: > > > * Makefile.am (MODULES): Add 'guix/build-system/meson.scm' and > > 'guix/build/meson-build-system.scm'. > > * guix/build-system/meson.scm: New file. > > * guix/build/meson-build-system.scm: New file. > > * doc/guix.texi (Build Systems): Add 'meson-build-system'. > > Overall LGTM! I have minor questions and comments: > > > +(define* (configure #:key outputs configure-flags build-type > > + #:allow-other-keys) > > + "Configure the given package" > > Make sure to add a period at the end of sentences. :-) Oops, will do :) > > > +(define* (fix-runpath #:key elf-directories outputs > > + #:allow-other-keys) > > ELF-DIRECTORIES should default to a list, probably the empty list (here > it defaults to #f, which cannot work.) I thought it was enough giving it a default value in guix/build-system/meson.scm, but allright, I have added it here. > > > + "Try to make sure all ELF files in ELF-DIRECTORIES are able to find = their > > +local dependencies in their RUNPATH. Also shrink the RUNPATH to what = is needed, > > +since alot of directories are left over from meson." > > =E2=80=9Ca lot=E2=80=9D > > According to this description, half of it corresponds to the > =E2=80=98validate-runpath=E2=80=99 phase, no? To my understanding 'validate-runpath' just checks and complains, but this phase checks if it can find any dependencies in directories that are local to the package, and if it can, it adds them to the runpath. I have tried to update the description :) > > The second half is the shrink-RUNPATH thing, but can you clarify why it > is needed? Which directories in RUNPATH are =E2=80=9Cleft over from meso= n=E2=80=9D? I also tried giving an example of that in the new description. > > > + (define (find-deps dep-name elf-files) > > + "Find the directories (if any) that contains DEP-NAME. The direct= ories > > +searched are the ones that ELF-FILES are in." > > + (let* ((matches (filter (lambda (file) > > + (string=3D? dep-name (basename file))) > > + elf-files))) > > + (map dirname matches))) > > Avoid local variable =E2=80=98matches=E2=80=99, to keep it concise. Also= , for inner > =E2=80=98define=E2=80=99s, use a comment instead of a docstring (the docs= tring would be > inaccessible.) > OK. > > + (define (file-needed file) > > + "Return a list of libraries that FILE needs." > > + (let* ((elf (call-with-input-file file > > + (compose parse-elf get-bytevector-all))) > > + (dyninfo (elf-dynamic-info elf))) > > + (if dyninfo > > + (elf-dynamic-info-needed dyninfo) > > + '()))) > > + > > + (define (handle-file file elf-files) > > + "If FILE needs any libs that are part of ELF-FILES, the RUNPATH > > +is modified accordingly." > > + (let* ((dep-dirs (apply append (map (lambda (dep-name) > > + (find-deps dep-name elf-file= s)) > > + (file-needed file))))) > > + (unless (null? dep-dirs) > > + (augment-rpath file (string-join dep-dirs ":"))))) > > + > > + (define handle-output > > + (match-lambda > > + (elf-list (apply append (map (lambda (dir) > > + (find-files dir elf-pred)= ) > > + excisting-elf-dirs)))) > > (apply append lstlst) =3D (concatenate lstlst) > I assume it is the 'concatenate' from (srfi srfi-1), so I have added it to the imports > That=E2=80=99s it! Could you comment and send an updated patch? > > Thanks for working on it, looks like it=E2=80=99s going to be useful very= soon! > > Ludo=E2=80=99. Updated patch attached, thanks for reviewing! Peter --001a113ff5e809b97d05594c8833 Content-Type: text/x-patch; charset="UTF-8"; name="0001-build-system-Add-meson-build-system.patch" Content-Disposition: attachment; filename="0001-build-system-Add-meson-build-system.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j7n7ljgw0 RnJvbSA4MTg1YzJhMTU0Yzc0NzNkM2I1MDM1MTI0NmNjODNiNzkyZWM2YTU3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBNaWtrZWxzZW4gPHBldGVybWlra2Vsc2VuMTBAZ21h aWwuY29tPgpEYXRlOiBXZWQsIDEzIFNlcCAyMDE3IDE0OjM3OjM5ICswMjAwClN1YmplY3Q6IFtQ QVRDSF0gYnVpbGQtc3lzdGVtOiBBZGQgJ21lc29uLWJ1aWxkLXN5c3RlbScuCgoqIE1ha2VmaWxl LmFtIChNT0RVTEVTKTogQWRkICdndWl4L2J1aWxkLXN5c3RlbS9tZXNvbi5zY20nIGFuZAogICdn dWl4L2J1aWxkL21lc29uLWJ1aWxkLXN5c3RlbS5zY20nLgoqIGd1aXgvYnVpbGQtc3lzdGVtL21l c29uLnNjbTogTmV3IGZpbGUuCiogZ3VpeC9idWlsZC9tZXNvbi1idWlsZC1zeXN0ZW0uc2NtOiBO ZXcgZmlsZS4KKiBkb2MvZ3VpeC50ZXhpIChCdWlsZCBTeXN0ZW1zKTogQWRkICdtZXNvbi1idWls ZC1zeXN0ZW0nLgotLS0KIE1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiAr CiBkb2MvZ3VpeC50ZXhpICAgICAgICAgICAgICAgICAgICAgfCAgNTUgKysrKysrKysrKysrCiBn dWl4L2J1aWxkLXN5c3RlbS9tZXNvbi5zY20gICAgICAgfCAxNzggKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIGd1aXgvYnVpbGQvbWVzb24tYnVpbGQtc3lzdGVtLnNjbSB8 IDE0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDM4 NCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ3VpeC9idWlsZC1zeXN0ZW0vbWVz b24uc2NtCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ3VpeC9idWlsZC9tZXNvbi1idWlsZC1zeXN0ZW0u c2NtCgpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQppbmRleCA0YzJlNzdk MTkuLmFkZWI2ZTYyMSAxMDA2NDQKLS0tIGEvTWFrZWZpbGUuYW0KKysrIGIvTWFrZWZpbGUuYW0K QEAgLTc5LDYgKzc5LDcgQEAgTU9EVUxFUyA9CQkJCQlcCiAgIGd1aXgvYnVpbGQtc3lzdGVtL2R1 Yi5zY20JCQlcCiAgIGd1aXgvYnVpbGQtc3lzdGVtL2VtYWNzLnNjbQkJCVwKICAgZ3VpeC9idWls ZC1zeXN0ZW0vZm9udC5zY20JCQlcCisgIGd1aXgvYnVpbGQtc3lzdGVtL21lc29uLnNjbQkJCVwK ICAgZ3VpeC9idWlsZC1zeXN0ZW0vbWluaWZ5LnNjbQkJCVwKICAgZ3VpeC9idWlsZC1zeXN0ZW0v YXNkZi5zY20JCQlcCiAgIGd1aXgvYnVpbGQtc3lzdGVtL2dsaWItb3ItZ3RrLnNjbQkJXApAQCAt MTA2LDYgKzEwNyw3IEBAIE1PRFVMRVMgPQkJCQkJXAogICBndWl4L2J1aWxkL2NtYWtlLWJ1aWxk LXN5c3RlbS5zY20JCVwKICAgZ3VpeC9idWlsZC9kdWItYnVpbGQtc3lzdGVtLnNjbQkJXAogICBn dWl4L2J1aWxkL2VtYWNzLWJ1aWxkLXN5c3RlbS5zY20JCVwKKyAgZ3VpeC9idWlsZC9tZXNvbi1i dWlsZC1zeXN0ZW0uc2NtCQlcCiAgIGd1aXgvYnVpbGQvbWluaWZ5LWJ1aWxkLXN5c3RlbS5zY20J CVwKICAgZ3VpeC9idWlsZC9mb250LWJ1aWxkLXN5c3RlbS5zY20JCVwKICAgZ3VpeC9idWlsZC9h c2RmLWJ1aWxkLXN5c3RlbS5zY20JCVwKZGlmZiAtLWdpdCBhL2RvYy9ndWl4LnRleGkgYi9kb2Mv Z3VpeC50ZXhpCmluZGV4IDA2MzM2OTEyMi4uMTZiYjIwYjRhIDEwMDY0NAotLS0gYS9kb2MvZ3Vp eC50ZXhpCisrKyBiL2RvYy9ndWl4LnRleGkKQEAgLTM4MTEsNiArMzgxMSw2MSBAQCBuZWVkIHRv IGJlIGNvcGllZCBpbnRvIHBsYWNlLiAgSXQgY29waWVzIGZvbnQgZmlsZXMgdG8gc3RhbmRhcmQK IGxvY2F0aW9ucyBpbiB0aGUgb3V0cHV0IGRpcmVjdG9yeS4KIEBlbmQgZGVmdnIKIAorQGRlZnZy IHtTY2hlbWUgVmFyaWFibGV9IG1lc29uLWJ1aWxkLXN5c3RlbQorVGhpcyB2YXJpYWJsZSBpcyBl eHBvcnRlZCBieSBAY29kZXsoZ3VpeCBidWlsZC1zeXN0ZW0gbWVzb24pfS4gIEl0CitpbXBsZW1l bnRzIHRoZSBidWlsZCBwcm9jZWR1cmUgZm9yIHBhY2thZ2VzIHRoYXQgdXNlCitAdXJse2h0dHA6 Ly9tZXNvbmJ1aWxkLmNvbSwgbWVzb259IGFzIHRoZWlyIGJ1aWxkIHN5c3RlbS4KKworSXQgYWRk cyBib3RoIEBjb2Rle21lc29ufSBhbmQgQGNvZGV7bmluamF9IHRvIHRoZSBzZXQgb2YgaW5wdXRz LCBhbmQgdGhleQorY2FuIGJlIGNoYW5nZWQgd2l0aCB0aGUgcGFyYW1ldGVycyBAY29kZXsjOm1l c29ufSBhbmQgQGNvZGV7IzpuaW5qYX0gaWYgbmVlZGVkLgorVGhlIGRlZmF1bHQgQGNvZGV7bWVz b259IGlzIEBjb2Rle21lc29uLWZvci1idWlsZH0gd2hpY2ggaXMgc3BlY2lhbCBiZWNhdXNlCitp dCBkb2Vzbid0IGNsZWFyIHRoZSBAY29kZXtSVU5QQVRIfSBvZiBiaW5hcmllcyBhbmQgbGlicmFy aWVzIHdoZW4gdGhleSBhcmUKK2luc3RhbGxlZC4KKworVGhlIGJ1aWxkLXN5c3RlbSBpcyBhbiBl eHRlbnNpb24gb2YgQHZhcntnbnUtYnVpbGQtc3lzdGVtfSwgYnV0IHdpdGggdGhlCitmb2xsb3dp bmcgcGhhc2VzIGNoYW5nZWQgdG8gc29tZSBzcGVjaWZpYyBmb3IgbWVzb246CisKK0B0YWJsZSBA Y29kZQorCitAaXRlbSBjb25maWd1cmUKK1RoZSBwaGFzZSBydW5zIEBjb2Rle21lc29ufSB3aXRo IHRoZSBmbGFncyBzcGVjaWZpZWQgaW4KK0Bjb2RleyM6Y29uZmlndXJlLWZsYWdzfS4gIFRoZSBm bGFnIEBjb2Rley0tYnVpbGQtdHlwZX0gaXMgYWx3YXlzIHNldCB0bworQGNvZGV7cGxhaW59IHVu bGVzcyBzb21ldGhpbmcgZWxzZSBpcyBzcGVjaWZpZWQgaW4gQGNvZGV7IzpidWlsZC10eXBlfS4K KworQGl0ZW0gYnVpbGQKK1RoZSBwaGFzZSBydW5zIEBjb2Rle25pbmphfSB0byBidWlsZCB0aGUg cGFja2FnZSBpbiBwYXJhbGxlbCBieSBkZWZhdWx0LCBidXQKK3RoaXMgY2FuIGJlIGNoYW5nZWQg d2l0aCBAY29kZXsjOnBhcmFsbGVsLWJ1aWxkP30uCisKK0BpdGVtIGNoZWNrCitUaGUgcGhhc2Ug cnVucyBAY29kZXtuaW5qYX0gd2l0aCB0aGUgdGFyZ2V0IHNwZWNpZmllZCBpbiBAY29kZXsjOnRl c3QtdGFyZ2V0fSwKK3doaWNoIGlzIEB2YXJ7YGB0ZXN0Jyd9IGJ5IGRlZmF1bHQuCisKK0BpdGVt IGluc3RhbGwKK1RoZSBwaGFzZSBydW5zIEBjb2Rle25pbmphIGluc3RhbGx9IGFuZCBjYW4gbm90 IGJlIGNoYW5nZWQuCitAZW5kIHRhYmxlCisKK0FwYXJ0IGZyb20gdGhhdCwgdGhlIGJ1aWxkIHN5 c3RlbSBhbHNvIGFkZHMgdGhlIGZvbGxvd2luZyBwaGFzZXM6CisKK0B0YWJsZSBAY29kZQorCitA aXRlbSBmaXgtcnVucGF0aAorVGhpcyBwaGFzZSB0cmllcyB0byBsb2NhdGUgdGhlIGxvY2FsIGRp cmVjdG9yaWVzIGluIHRoZSBwYWNrYWdlIGJlaW5nIGJ1aWxkLAord2hpY2ggaGFzIGxpYnJhcmll cyB0aGF0IHNvbWUgb2YgdGhlIGJpbmFyaWVzIG5lZWQuICBJZiBhbnkgYXJlIGZvdW5kLCB0aGV5 IHdpbGwKK2JlIGFkZGVkIHRvIHRoZSBwcm9ncmFtcyBAY29kZXtSVU5QQVRIfS4gIEl0IGlzIG5l ZWRlZCBiZWNhdXNlCitAY29kZXttZXNvbi1mb3ItYnVpbGR9IGtlZXBzIHRoZSBAY29kZXtSVU5Q QVRIfSBvZiBiaW5hcmllcyBhbmQgbGlicmFyaWVzIGZyb20KK3doZW4gdGhleSBhcmUgYnVpbGQs IGJ1dCBvZnRlbiB0aGF0IGlzIG5vdCB0aGUgQGNvZGV7UlVOUEFUSH0gd2Ugd2FudC4KK1RoZXJl Zm9yIGl0IGlzIGFsc28gc2hyaW5rZWQgdG8gdGhlIG1pbmltdW0gbmVlZGVkIGJ5IHRoZSBwcm9n cmFtLgorCitAaXRlbSBnbGliLW9yLWd0ay13cmFwCitUaGlzIHBoYXNlIGlzIHRoZSBwaGFzZSBw cm92aWRlZCBieSBAdmFye2dsaWItb3ItZ3RrLWJ1aWxkLXN5c3RlbX0sIGFuZCBpdAoraXMgbm90 IGVuYWJsZWQgYnkgZGVmYXVsdC4gIEl0IGNhbiBiZSBlbmFibGVkIHdpdGggQGNvZGV7IzpnbGli LW9yLWd0az99LgorCitAaXRlbSBnbGliLW9yLWd0ay1jb21waWxlLXNjaGVtYXMKK1RoaXMgcGhh c2UgaXMgdGhlIHBoYXNlIHByb3ZpZGVkIGJ5IEB2YXJ7Z2xpYi1vci1ndGstYnVpbGQtc3lzdGVt fSwgYW5kIGl0CitpcyBub3QgZW5hYmxlZCBieSBkZWZhdWx0LiAgSXQgY2FuIGJlIGVuYWJsZWQg d2l0aCBAY29kZXsjOmdsaWItb3ItZ3RrP30uCitAZW5kIHRhYmxlCitAZW5kIGRlZnZyCisKIExh c3RseSwgZm9yIHBhY2thZ2VzIHRoYXQgZG8gbm90IG5lZWQgYW55dGhpbmcgYXMgc29waGlzdGlj YXRlZCwgYQogYGB0cml2aWFsJycgYnVpbGQgc3lzdGVtIGlzIHByb3ZpZGVkLiAgSXQgaXMgdHJp dmlhbCBpbiB0aGUgc2Vuc2UgdGhhdAogaXQgcHJvdmlkZXMgYmFzaWNhbGx5IG5vIHN1cHBvcnQ6 IGl0IGRvZXMgbm90IHB1bGwgYW55IGltcGxpY2l0IGlucHV0cywKZGlmZiAtLWdpdCBhL2d1aXgv YnVpbGQtc3lzdGVtL21lc29uLnNjbSBiL2d1aXgvYnVpbGQtc3lzdGVtL21lc29uLnNjbQpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmQ2NmVjNzYwYQotLS0gL2Rldi9udWxs CisrKyBiL2d1aXgvYnVpbGQtc3lzdGVtL21lc29uLnNjbQpAQCAtMCwwICsxLDE3OCBAQAorOzs7 IEdOVSBHdWl4IC0tLSBGdW5jdGlvbmFsIHBhY2thZ2UgbWFuYWdlbWVudCBmb3IgR05VCis7Ozsg Q29weXJpZ2h0IMKpIDIwMTcgUGV0ZXIgTWlra2Vsc2VuIDxwZXRlcm1pa2tlbHNlbjEwQGdtYWls LmNvbT4KKzs7OworOzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBHdWl4LgorOzs7Cis7Ozsg R05VIEd1aXggaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeSBpdAorOzs7IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cis7OzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cis7OzsgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgorOzs7Cis7OzsgR05VIEd1aXggaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0Cis7OzsgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzs7IE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK Kzs7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorOzs7Cis7 OzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKzs7OyBhbG9uZyB3aXRoIEdOVSBHdWl4LiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisoZGVmaW5lLW1vZHVsZSAoZ3VpeCBidWlsZC1z eXN0ZW0gbWVzb24pCisgICM6dXNlLW1vZHVsZSAoZ3VpeCBzdG9yZSkKKyAgIzp1c2UtbW9kdWxl IChndWl4IHV0aWxzKQorICAjOnVzZS1tb2R1bGUgKGd1aXggZGVyaXZhdGlvbnMpCisgICM6dXNl LW1vZHVsZSAoZ3VpeCBzZWFyY2gtcGF0aHMpCisgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1z eXN0ZW0pCisgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0gZ251KQorICAjOnVzZS1t b2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGdsaWItb3ItZ3RrKQorICAjOnVzZS1tb2R1bGUgKGd1 aXggcGFja2FnZXMpCisgICM6dXNlLW1vZHVsZSAoaWNlLTkgbWF0Y2gpCisgICM6ZXhwb3J0ICgl bWVzb24tYnVpbGQtc3lzdGVtLW1vZHVsZXMKKyAgICAgICAgICAgIG1lc29uLWJ1aWxkLXN5c3Rl bSkpCisKKzs7IENvbW1lbnRhcnk6Cis7OworOzsgU3RhbmRhcmQgYnVpbGQgcHJvY2VkdXJlIGZv ciBwYWNrYWdlcyB1c2luZyBNZXNvbi4gVGhpcyBpcyBpbXBsZW1lbnRlZCBhcyBhbgorOzsgZXh0 ZW5zaW9uIG9mIGBnbnUtYnVpbGQtc3lzdGVtJywgd2l0aCB0aGUgb3B0aW9uIHRvIHR1cm4gb24g dGhlIGdsaWIvZ3RrCis7OyBwaGFzZXMgZnJvbSBgZ2xpYi1vci1ndGstYnVpbGQtc3lzdGVtJy4K Kzs7Cis7OyBDb2RlOgorCisoZGVmaW5lICVtZXNvbi1idWlsZC1zeXN0ZW0tbW9kdWxlcworICA7 OyBCdWlsZC1zaWRlIG1vZHVsZXMgaW1wb3J0ZWQgYnkgZGVmYXVsdC4KKyAgYCgoZ3VpeCBidWls ZCBtZXNvbi1idWlsZC1zeXN0ZW0pCisgICAgKGd1aXggYnVpbGQgcnBhdGgpCisgICAgOzsgVGhl IG1vZHVsZXMgZnJvbSBnbGliLW9yLWd0ayBjb250YWlucyB0aGUgbW9kdWxlcyBmcm9tIGdudS1i dWlsZC1zeXN0ZW0sCisgICAgOzsgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBpbXBvcnQgdGhhdCB0 b28uCisgICAgLEAlZ2xpYi1vci1ndGstYnVpbGQtc3lzdGVtLW1vZHVsZXMpKQorCisoZGVmaW5l IChkZWZhdWx0LW5pbmphKQorICAiUmV0dXJuIHRoZSBkZWZhdWx0IG5pbmphIHBhY2thZ2UuIgor ICA7OyBMYXppbHkgcmVzb2x2ZSB0aGUgYmluZGluZyB0byBhdm9pZCBhIGNpcmN1bGFyIGRlcGVu ZGVuY3kuCisgIChsZXQgKChtb2R1bGUgKHJlc29sdmUtaW50ZXJmYWNlICcoZ251IHBhY2thZ2Vz IG5pbmphKSkpKQorICAgIChtb2R1bGUtcmVmIG1vZHVsZSAnbmluamEpKSkKKworKGRlZmluZSAo ZGVmYXVsdC1tZXNvbikKKyAgIlJldHVybiB0aGUgZGVmYXVsdCBtZXNvbiBwYWNrYWdlLiIKKyAg OzsgTGF6aWx5IHJlc29sdmUgdGhlIGJpbmRpbmcgdG8gYXZvaWQgYSBjaXJjdWxhciBkZXBlbmRl bmN5LgorICAobGV0ICgobW9kdWxlIChyZXNvbHZlLWludGVyZmFjZSAnKGdudSBwYWNrYWdlcyBi dWlsZC10b29scykpKSkKKyAgICAobW9kdWxlLXJlZiBtb2R1bGUgJ21lc29uLWZvci1idWlsZCkp KQorCisoZGVmaW5lIChkZWZhdWx0LXBhdGNoZWxmKQorICAiUmV0dXJuIHRoZSBkZWZhdWx0IHBh dGNoZWxmIHBhY2thZ2UuIgorICA7OyBMYXppbHkgcmVzb2x2ZSB0aGUgYmluZGluZyB0byBhdm9p ZCBhIGNpcmN1bGFyIGRlcGVuZGVuY3kuCisgIChsZXQgKChtb2R1bGUgKHJlc29sdmUtaW50ZXJm YWNlICcoZ251IHBhY2thZ2VzIGVsZikpKSkKKyAgICAobW9kdWxlLXJlZiBtb2R1bGUgJ3BhdGNo ZWxmKSkpCisKKyhkZWZpbmUqIChsb3dlciBuYW1lCisgICAgICAgICAgICAgICAgIzprZXkgc291 cmNlIGlucHV0cyBuYXRpdmUtaW5wdXRzIG91dHB1dHMgc3lzdGVtIHRhcmdldAorICAgICAgICAg ICAgICAgIChtZXNvbiAoZGVmYXVsdC1tZXNvbikpCisgICAgICAgICAgICAgICAgKG5pbmphIChk ZWZhdWx0LW5pbmphKSkKKyAgICAgICAgICAgICAgICAoZ2xpYi1vci1ndGsgI2YpCisgICAgICAg ICAgICAgICAgIzphbGxvdy1vdGhlci1rZXlzCisgICAgICAgICAgICAgICAgIzpyZXN0IGFyZ3Vt ZW50cykKKyAgIlJldHVybiBhIGJhZyBmb3IgTkFNRS4iCisgIChkZWZpbmUgcHJpdmF0ZS1rZXl3 b3JkcworICAgIGAoIzpzb3VyY2UgIzptZXNvbiAjOm5pbmphICM6aW5wdXRzICM6bmF0aXZlLWlu cHV0cyAjOm91dHB1dHMgIzp0YXJnZXQpKQorCisgIChhbmQgKG5vdCB0YXJnZXQpIDs7IFRPRE86 IGFkZCBzdXBwb3J0IGZvciBjcm9zcy1jb21waWxhdGlvbi4KKyAgICAgICAoYmFnCisgICAgICAg ICAobmFtZSBuYW1lKQorICAgICAgICAgKHN5c3RlbSBzeXN0ZW0pCisgICAgICAgICAoYnVpbGQt aW5wdXRzIGAoKCJtZXNvbiIgLG1lc29uKQorICAgICAgICAgICAgICAgICAgICAgICAgICgibmlu amEiICxuaW5qYSkKKyAgICAgICAgICAgICAgICAgICAgICAgICA7OyBBZGQgcGF0Y2hlbGYgZm9y IChndWl4IGJ1aWxkIHJwYXRoKSB0byB3b3JrLgorICAgICAgICAgICAgICAgICAgICAgICAgICgi cGF0Y2hlbGYiICwoZGVmYXVsdC1wYXRjaGVsZikpCisgICAgICAgICAgICAgICAgICAgICAgICAg LEBuYXRpdmUtaW5wdXRzKSkKKyAgICAgICAgIChob3N0LWlucHV0cyBgKCxAKGlmIHNvdXJjZQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCgoInNvdXJjZSIgLHNvdXJjZSkpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAs QGlucHV0cworICAgICAgICAgICAgICAgICAgICAgICAgOzsgS2VlcCB0aGUgc3RhbmRhcmQgaW5w dXRzIG9mICdnbnUtYnVpbGQtc3lzdGVtJy4KKyAgICAgICAgICAgICAgICAgICAgICAgICxAKHN0 YW5kYXJkLXBhY2thZ2VzKSkpCisgICAgICAgICAob3V0cHV0cyBvdXRwdXRzKQorICAgICAgICAg KGJ1aWxkIG1lc29uLWJ1aWxkKQorICAgICAgICAgKGFyZ3VtZW50cyAoc3RyaXAta2V5d29yZC1h cmd1bWVudHMgcHJpdmF0ZS1rZXl3b3JkcyBhcmd1bWVudHMpKSkpKQorCisoZGVmaW5lKiAobWVz b24tYnVpbGQgc3RvcmUgbmFtZSBpbnB1dHMKKyAgICAgICAgICAgICAgICAgICAgICAjOmtleSAo Z3VpbGUgI2YpCisgICAgICAgICAgICAgICAgICAgICAgKG91dHB1dHMgJygib3V0IikpCisgICAg ICAgICAgICAgICAgICAgICAgKGNvbmZpZ3VyZS1mbGFncyAnJygpKQorICAgICAgICAgICAgICAg ICAgICAgIChzZWFyY2gtcGF0aHMgJygpKQorICAgICAgICAgICAgICAgICAgICAgIChidWlsZC10 eXBlICJwbGFpbiIpCisgICAgICAgICAgICAgICAgICAgICAgKHRlc3RzPyAjdCkKKyAgICAgICAg ICAgICAgICAgICAgICAodGVzdC10YXJnZXQgInRlc3QiKQorICAgICAgICAgICAgICAgICAgICAg IChnbGliLW9yLWd0az8gI2YpCisgICAgICAgICAgICAgICAgICAgICAgKHBhcmFsbGVsLWJ1aWxk PyAjdCkKKyAgICAgICAgICAgICAgICAgICAgICAocGFyYWxsZWwtdGVzdHM/ICNmKQorICAgICAg ICAgICAgICAgICAgICAgICh2YWxpZGF0ZS1ydW5wYXRoPyAjdCkKKyAgICAgICAgICAgICAgICAg ICAgICAocGF0Y2gtc2hlYmFuZ3M/ICN0KQorICAgICAgICAgICAgICAgICAgICAgIChzdHJpcC1i aW5hcmllcz8gI3QpCisgICAgICAgICAgICAgICAgICAgICAgKHN0cmlwLWZsYWdzICcnKCItLXN0 cmlwLWRlYnVnIikpCisgICAgICAgICAgICAgICAgICAgICAgKHN0cmlwLWRpcmVjdG9yaWVzICcn KCJsaWIiICJsaWI2NCIgImxpYmV4ZWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJiaW4iICJzYmluIikpCisgICAgICAgICAgICAgICAgICAgICAgKGVsZi1k aXJlY3RvcmllcyAnJygibGliIiAibGliNjQiICJsaWJleGVjIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgImJpbiIgInNiaW4iKSkKKyAgICAgICAgICAgICAgICAg ICAgICAocGhhc2VzICcoQCAoZ3VpeCBidWlsZCBtZXNvbi1idWlsZC1zeXN0ZW0pCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJXN0YW5kYXJkLXBoYXNlcykpCisgICAgICAgICAg ICAgICAgICAgICAgKHN5c3RlbSAoJWN1cnJlbnQtc3lzdGVtKSkKKyAgICAgICAgICAgICAgICAg ICAgICAoaW1wb3J0ZWQtbW9kdWxlcyAlbWVzb24tYnVpbGQtc3lzdGVtLW1vZHVsZXMpCisgICAg ICAgICAgICAgICAgICAgICAgKG1vZHVsZXMgJygoZ3VpeCBidWlsZCBtZXNvbi1idWlsZC1zeXN0 ZW0pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ3VpeCBidWlsZCB1dGlscykp KSkKKyAgIkJ1aWxkIFNPVVJDRSB1c2luZyBNRVNPTiwgYW5kIHdpdGggSU5QVVRTLCBhc3N1bWlu ZyB0aGF0IFNPVVJDRQoraGFzIGEgJ21lc29uLmJ1aWxkJyBmaWxlLiIKKyAgKGRlZmluZSBidWls ZGVyCisgICAgYChsZXQgKChidWlsZC1waGFzZXMgKGlmICxnbGliLW9yLWd0az8KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLHBoYXNlcworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobW9kaWZ5LXBoYXNlcyAscGhhc2VzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGRlbGV0ZSAnZ2xpYi1vci1ndGstY29tcGlsZS1zY2hlbWFzKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChkZWxldGUgJ2dsaWItb3ItZ3RrLXdyYXApKSkpKQorICAgICAgICh1c2Ut bW9kdWxlcyAsQG1vZHVsZXMpCisgICAgICAgKG1lc29uLWJ1aWxkICM6c291cmNlICwobWF0Y2gg KGFzc29jLXJlZiBpbnB1dHMgInNvdXJjZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICgoKD8gZGVyaXZhdGlvbj8gc291cmNlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBzb3VyY2UpKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoKHNvdXJjZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNvdXJjZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNvdXJjZQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlKSkKKyAgICAgICAgICAgICAgICAg ICAgIzpzeXN0ZW0gLHN5c3RlbQorICAgICAgICAgICAgICAgICAgICAjOm91dHB1dHMgJW91dHB1 dHMKKyAgICAgICAgICAgICAgICAgICAgIzppbnB1dHMgJWJ1aWxkLWlucHV0cworICAgICAgICAg ICAgICAgICAgICAjOnNlYXJjaC1wYXRocyAnLChtYXAgc2VhcmNoLXBhdGgtc3BlY2lmaWNhdGlv bi0+c2V4cAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNo LXBhdGhzKQorICAgICAgICAgICAgICAgICAgICAjOnBoYXNlcyBidWlsZC1waGFzZXMKKyAgICAg ICAgICAgICAgICAgICAgIzpjb25maWd1cmUtZmxhZ3MgLGNvbmZpZ3VyZS1mbGFncworICAgICAg ICAgICAgICAgICAgICAjOmJ1aWxkLXR5cGUgLGJ1aWxkLXR5cGUKKyAgICAgICAgICAgICAgICAg ICAgIzp0ZXN0cz8gLHRlc3RzPworICAgICAgICAgICAgICAgICAgICAjOnRlc3QtdGFyZ2V0ICx0 ZXN0LXRhcmdldAorICAgICAgICAgICAgICAgICAgICAjOnBhcmFsbGVsLWJ1aWxkPyAscGFyYWxs ZWwtYnVpbGQ/CisgICAgICAgICAgICAgICAgICAgICM6cGFyYWxsZWwtdGVzdHM/ICxwYXJhbGxl bC10ZXN0cz8KKyAgICAgICAgICAgICAgICAgICAgIzp2YWxpZGF0ZS1ydW5wYXRoPyAsdmFsaWRh dGUtcnVucGF0aD8KKyAgICAgICAgICAgICAgICAgICAgIzpwYXRjaC1zaGViYW5ncz8gLHBhdGNo LXNoZWJhbmdzPworICAgICAgICAgICAgICAgICAgICAjOnN0cmlwLWJpbmFyaWVzPyAsc3RyaXAt YmluYXJpZXM/CisgICAgICAgICAgICAgICAgICAgICM6c3RyaXAtZmxhZ3MgLHN0cmlwLWZsYWdz CisgICAgICAgICAgICAgICAgICAgICM6c3RyaXAtZGlyZWN0b3JpZXMgLHN0cmlwLWRpcmVjdG9y aWVzCisgICAgICAgICAgICAgICAgICAgICM6ZWxmLWRpcmVjdG9yaWVzICxlbGYtZGlyZWN0b3Jp ZXMpKSkKKworICAoZGVmaW5lIGd1aWxlLWZvci1idWlsZAorICAgIChtYXRjaCBndWlsZQorICAg ICAgKCg/IHBhY2thZ2U/KQorICAgICAgIChwYWNrYWdlLWRlcml2YXRpb24gc3RvcmUgZ3VpbGUg c3lzdGVtICM6Z3JhZnQ/ICNmKSkKKyAgICAgICgjZiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOyB0aGUgZGVmYXVsdAorICAgICAgIChsZXQqICgoZGlzdHJvIChyZXNv bHZlLWludGVyZmFjZSAnKGdudSBwYWNrYWdlcyBjb21tZW5jZW1lbnQpKSkKKyAgICAgICAgICAg ICAgKGd1aWxlICAobW9kdWxlLXJlZiBkaXN0cm8gJ2d1aWxlLWZpbmFsKSkpCisgICAgICAgICAo cGFja2FnZS1kZXJpdmF0aW9uIHN0b3JlIGd1aWxlIHN5c3RlbSAjOmdyYWZ0PyAjZikpKSkpCisK KyAgKGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24gc3RvcmUgbmFtZSBidWlsZGVyCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6c3lzdGVtIHN5c3RlbQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjOmlucHV0cyBpbnB1dHMKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIzptb2R1bGVzIGltcG9ydGVkLW1vZHVsZXMKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIzpvdXRwdXRzIG91dHB1dHMKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIzpndWlsZS1mb3ItYnVpbGQgZ3VpbGUtZm9yLWJ1aWxkKSkKKworKGRlZmluZSBt ZXNvbi1idWlsZC1zeXN0ZW0KKyAgKGJ1aWxkLXN5c3RlbQorICAgIChuYW1lICdtZXNvbikKKyAg ICAoZGVzY3JpcHRpb24gIlRoZSBzdGFuZGFyZCBNZXNvbiBidWlsZCBzeXN0ZW0iKQorICAgIChs b3dlciBsb3dlcikpKQorCis7OzsgbWVzb24uc2NtIGVuZHMgaGVyZQpkaWZmIC0tZ2l0IGEvZ3Vp eC9idWlsZC9tZXNvbi1idWlsZC1zeXN0ZW0uc2NtIGIvZ3VpeC9idWlsZC9tZXNvbi1idWlsZC1z eXN0ZW0uc2NtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNTE1NDI5NzRl Ci0tLSAvZGV2L251bGwKKysrIGIvZ3VpeC9idWlsZC9tZXNvbi1idWlsZC1zeXN0ZW0uc2NtCkBA IC0wLDAgKzEsMTQ5IEBACis7OzsgR05VIEd1aXggLS0tIEZ1bmN0aW9uYWwgcGFja2FnZSBtYW5h Z2VtZW50IGZvciBHTlUKKzs7OyBDb3B5cmlnaHQgwqkgMjAxNyBQZXRlciBNaWtrZWxzZW4gPHBl dGVybWlra2Vsc2VuMTBAZ21haWwuY29tPgorOzs7Cis7OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2Yg R05VIEd1aXguCis7OzsKKzs7OyBHTlUgR3VpeCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0Cis7OzsgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7OyB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv ciAoYXQKKzs7OyB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCis7OzsKKzs7OyBHTlUg R3VpeCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBi dXQKKzs7OyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCis7OzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorOzs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCis7OzsKKzs7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorOzs7IGFsb25nIHdpdGggR05VIEd1aXgu ICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKyhkZWZpbmUt bW9kdWxlIChndWl4IGJ1aWxkIG1lc29uLWJ1aWxkLXN5c3RlbSkKKyAgIzp1c2UtbW9kdWxlICgo Z3VpeCBidWlsZCBnbnUtYnVpbGQtc3lzdGVtKSAjOnByZWZpeCBnbnU6KQorICAjOnVzZS1tb2R1 bGUgKChndWl4IGJ1aWxkIGdsaWItb3ItZ3RrLWJ1aWxkLXN5c3RlbSkgIzpwcmVmaXggZ2xpYi1v ci1ndGs6KQorICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQgdXRpbHMpCisgICM6dXNlLW1vZHVs ZSAoZ3VpeCBidWlsZCBycGF0aCkKKyAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkIGdyZW1saW4p CisgICM6dXNlLW1vZHVsZSAoZ3VpeCBlbGYpCisgICM6dXNlLW1vZHVsZSAoaWNlLTkgbWF0Y2gp CisgICM6dXNlLW1vZHVsZSAocm5ycyBpbyBwb3J0cykKKyAgIzp1c2UtbW9kdWxlIChzcmZpIHNy ZmktMSkKKyAgIzpleHBvcnQgKCVzdGFuZGFyZC1waGFzZXMKKyAgICAgICAgICAgICVnbGliLW9y LWd0ay1waGFzZXMKKyAgICAgICAgICAgIG1lc29uLWJ1aWxkKSkKKworOzsgQ29tbWVudGFyeToK Kzs7Cis7OyBCdWlsZGVyLXNpZGUgY29kZSBvZiB0aGUgc3RhbmRhcmQgbWVzb24gYnVpbGQgcHJv Y2VkdXJlLgorOzsKKzs7IENvZGU6CisKKyhkZWZpbmUqIChjb25maWd1cmUgIzprZXkgb3V0cHV0 cyBjb25maWd1cmUtZmxhZ3MgYnVpbGQtdHlwZQorICAgICAgICAgICAgICAgICAgICAjOmFsbG93 LW90aGVyLWtleXMpCisgICJDb25maWd1cmUgdGhlIGdpdmVuIHBhY2thZ2UuIgorICAobGV0KiAo KG91dCAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIpKQorICAgICAgICAgKHNvdXJjZS1kaXIgKGdl dGN3ZCkpCisgICAgICAgICAoYnVpbGQtZGlyICIuLi9idWlsZCIpCisgICAgICAgICAocHJlZml4 IChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikpCisgICAgICAgICAoYXJncyBgKCwoc3RyaW5nLWFw cGVuZCAiLS1wcmVmaXg9IiBwcmVmaXgpCisgICAgICAgICAgICAgICAgICwoc3RyaW5nLWFwcGVu ZCAiLS1idWlsZHR5cGU9IiBidWlsZC10eXBlKQorICAgICAgICAgICAgICAgICAsQGNvbmZpZ3Vy ZS1mbGFncworICAgICAgICAgICAgICAgICAsc291cmNlLWRpcikpKQorICAgIChta2RpciBidWls ZC1kaXIpCisgICAgKGNoZGlyIGJ1aWxkLWRpcikKKyAgICAoemVybz8gKGFwcGx5IHN5c3RlbSog Im1lc29uIiBhcmdzKSkpKQorCisoZGVmaW5lKiAoYnVpbGQgIzprZXkgcGFyYWxsZWwtYnVpbGQ/ CisgICAgICAgICAgICAgICAgIzphbGxvdy1vdGhlci1rZXlzKQorICAiQnVpbGQgYSBnaXZlbiBt ZXNvbiBwYWNrYWdlLiIKKyAgKHplcm8/IChhcHBseSBzeXN0ZW0qICJuaW5qYSIKKyAgICAgICAg ICAgICAgICAoaWYgcGFyYWxsZWwtYnVpbGQ/CisgICAgICAgICAgICAgICAgICAgIGAoIi1qIiAs KG51bWJlci0+c3RyaW5nIChwYXJhbGxlbC1qb2ItY291bnQpKSkKKyAgICAgICAgICAgICAgICAg ICAgJygiLWoiICIxIikpKSkpCisKKyhkZWZpbmUqIChjaGVjayAjOmtleSB0ZXN0LXRhcmdldCBw YXJhbGxlbC10ZXN0cz8gdGVzdHM/CisgICAgICAgICAgICAgICAgIzphbGxvdy1vdGhlci1rZXlz KQorICAodW5sZXNzIHBhcmFsbGVsLXRlc3RzPworICAgIChzZXRlbnYgIk1FU09OX1RFU1RUSFJF QURTIiAiMSIpKQorICAoaWYgdGVzdHM/CisgICAgICAoemVybz8gKHN5c3RlbSogIm5pbmphIiB0 ZXN0LXRhcmdldCkpCisgICAgICAoYmVnaW4KKyAgICAgICAgKGZvcm1hdCAjdCAidGVzdCBzdWl0 ZSBub3QgcnVufiUiKQorICAgICAgICAjdCkpKQorCisoZGVmaW5lKiAoaW5zdGFsbCAjOnJlc3Qg YXJncykKKyAgKHplcm8/IChzeXN0ZW0qICJuaW5qYSIgImluc3RhbGwiKSkpCisKKyhkZWZpbmUq IChmaXgtcnVucGF0aCAjOmtleSAoZWxmLWRpcmVjdG9yaWVzICcoImxpYiIgImxpYjY0IiAibGli ZXhlYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJp biIgInNiaW4iKSkKKyAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRzICM6YWxsb3ctb3RoZXIt a2V5cykKKyAgIlRyeSB0byBtYWtlIHN1cmUgYWxsIEVMRiBmaWxlcyBpbiBFTEYtRElSRUNUT1JJ RVMgYXJlIGFibGUgdG8gZmluZCB0aGVpcgorbG9jYWwgZGVwZW5kZW5jaWVzIGluIHRoZWlyIFJV TlBBVEgsIGJ5IHNlYXJjaGluZyBmb3IgdGhlIG5lZWRlZCBsaWJyYXJpZXMgaW4KK3RoZSBkaXJl Y3RvcmllcyBvZiB0aGUgcGFja2FnZSwgYW5kIGFkZGluZyB0aGVtIHRvIHRoZSBSVU5QQVRIIGlm IG5lZWRlZC4KK0Fsc28gc2hyaW5rIHRoZSBSVU5QQVRIIHRvIHdoYXQgaXMgbmVlZGVkLAorc2lu Y2UgYSBsb3Qgb2YgZGlyZWN0b3JpZXMgYXJlIGxlZnQgb3ZlciBmcm9tIHRoZSBidWlsZCBwaGFz ZSBvZiBtZXNvbiwKK2ZvciBleGFtcGxlIGxpYnJhcmllcyBvbmx5IG5lZWRlZCBmb3IgdGhlIHRl c3RzLiIKKworICA7OyBGaW5kIHRoZSBkaXJlY3RvcmllcyAoaWYgYW55KSB0aGF0IGNvbnRhaW5z IERFUC1OQU1FLiAgVGhlIGRpcmVjdG9yaWVzCisgIDs7IHNlYXJjaGVkIGFyZSB0aGUgb25lcyB0 aGF0IEVMRi1GSUxFUyBhcmUgaW4uCisgIChkZWZpbmUgKGZpbmQtZGVwcyBkZXAtbmFtZSBlbGYt ZmlsZXMpCisgICAgKG1hcCBkaXJuYW1lIChmaWx0ZXIgKGxhbWJkYSAoZmlsZSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIChzdHJpbmc9PyBkZXAtbmFtZSAoYmFzZW5hbWUgZmlsZSkpKQor ICAgICAgICAgICAgICAgICAgICAgICAgIGVsZi1maWxlcykpKQorCisgIDs7IFJldHVybiBhIGxp c3Qgb2YgbGlicmFyaWVzIHRoYXQgRklMRSBuZWVkcy4KKyAgKGRlZmluZSAoZmlsZS1uZWVkZWQg ZmlsZSkKKyAgICAobGV0KiAoKGVsZiAoY2FsbC13aXRoLWlucHV0LWZpbGUgZmlsZQorICAgICAg ICAgICAgICAgICAgKGNvbXBvc2UgcGFyc2UtZWxmIGdldC1ieXRldmVjdG9yLWFsbCkpKQorICAg ICAgICAgICAoZHluaW5mbyAoZWxmLWR5bmFtaWMtaW5mbyBlbGYpKSkKKyAgICAgIChpZiBkeW5p bmZvCisgICAgICAgICAgKGVsZi1keW5hbWljLWluZm8tbmVlZGVkIGR5bmluZm8pCisgICAgICAg ICAgJygpKSkpCisKKworICA7OyBJZiBGSUxFIG5lZWRzIGFueSBsaWJzIHRoYXQgYXJlIHBhcnQg b2YgRUxGLUZJTEVTLCB0aGUgUlVOUEFUSAorICA7OyBpcyBtb2RpZmllZCBhY2NvcmRpbmdseS4K KyAgKGRlZmluZSAoaGFuZGxlLWZpbGUgZmlsZSBlbGYtZmlsZXMpCisgICAgKGxldCogKChkZXAt ZGlycyAoY29uY2F0ZW5hdGUgKG1hcCAobGFtYmRhIChkZXAtbmFtZSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZGVwcyBkZXAtbmFtZSBlbGYtZmlsZXMp KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGUtbmVlZGVkIGZp bGUpKSkpKQorICAgICAgKHVubGVzcyAobnVsbD8gZGVwLWRpcnMpCisgICAgICAgIChhdWdtZW50 LXJwYXRoIGZpbGUgKHN0cmluZy1qb2luIGRlcC1kaXJzICI6IikpKSkpCisKKyAgKGRlZmluZSBo YW5kbGUtb3V0cHV0CisgICAgKG1hdGNoLWxhbWJkYQorICAgICAgKChvdXRwdXQgLiBkaXJlY3Rv cnkpCisgICAgICAgKGxldCogKChlbGYtZGlybmFtZXMgKG1hcCAobGFtYmRhIChzdWJkaXIpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kIGRpcmVjdG9y eSAiLyIgc3ViZGlyKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZi1kaXJl Y3RvcmllcykpCisgICAgICAgICAgICAgIChleGNpc3RpbmctZWxmLWRpcnMgKGZpbHRlciAobGFt YmRhIChkaXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChh bmQgKGZpbGUtZXhpc3RzPyBkaXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGZpbGUtaXMtZGlyZWN0b3J5PyBkaXIpKSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZi1kaXJuYW1lcykpCisgICAgICAgICAgICAg IChlbGYtcHJlZCAobGFtYmRhIChuYW1lIHN0YXQpCisgICAgICAgICAgICAgICAgICAgICAgICAg IChlbGYtZmlsZT8gbmFtZSkpKQorICAgICAgICAgICAgICAoZWxmLWxpc3QgKGNvbmNhdGVuYXRl IChtYXAgKGxhbWJkYSAoZGlyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoZmluZC1maWxlcyBkaXIgZWxmLXByZWQpKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZXhjaXN0aW5nLWVsZi1kaXJzKSkpKQorICAgICAgICAgKGZv ci1lYWNoIChsYW1iZGEgKGVsZi1maWxlKQorICAgICAgICAgICAgICAgICAgICAgKHN5c3RlbSog InBhdGNoZWxmIiAiLS1zaHJpbmstcnBhdGgiIGVsZi1maWxlKQorICAgICAgICAgICAgICAgICAg ICAgKGhhbmRsZS1maWxlIGVsZi1maWxlIGVsZi1saXN0KSkKKyAgICAgICAgICAgICAgICAgICBl bGYtbGlzdCkpKSkpCisgIChmb3ItZWFjaCBoYW5kbGUtb3V0cHV0IG91dHB1dHMpCisgICN0KQor CisoZGVmaW5lICVzdGFuZGFyZC1waGFzZXMKKyAgOzsgVGhlIHN0YW5kYXJkLXBoYXNlcyBvZiBn bGliLW9yLWd0ayBjb250YWlucyBhIHN1cGVyc2V0IG9mIHRoZSBwaGFzZXMKKyAgOzsgZnJvbSB0 aGUgZ251LWJ1aWxkLXN5c3RlbS4gIElmIHRoZSBnbGliLW9yLWd0az8ga2V5IGlzICNmICh0aGUg ZGVmYXVsdCkKKyAgOzsgdGhlbiB0aGUgZXh0cmEgcGhhc2VzIHdpbGwgYmUgcmVtb3ZlZCBhZ2Fp biBpbiAoZ3VpeCBidWlsZC1zeXN0ZW0gbWVzb24pLgorICAobW9kaWZ5LXBoYXNlcyBnbGliLW9y LWd0azolc3RhbmRhcmQtcGhhc2VzCisgICAgKHJlcGxhY2UgJ2NvbmZpZ3VyZSBjb25maWd1cmUp CisgICAgKHJlcGxhY2UgJ2J1aWxkIGJ1aWxkKQorICAgIChyZXBsYWNlICdjaGVjayBjaGVjaykK KyAgICAocmVwbGFjZSAnaW5zdGFsbCBpbnN0YWxsKQorICAgIChhZGQtYWZ0ZXIgJ3N0cmlwICdm aXgtcnVucGF0aCBmaXgtcnVucGF0aCkpKQorCisoZGVmaW5lKiAobWVzb24tYnVpbGQgIzprZXkg aW5wdXRzIHBoYXNlcworICAgICAgICAgICAgICAgICAgICAgICM6YWxsb3ctb3RoZXIta2V5cyAj OnJlc3QgYXJncykKKyAgIkJ1aWxkIHRoZSBnaXZlbiBwYWNrYWdlLCBhcHBseWluZyBhbGwgb2Yg UEhBU0VTIGluIG9yZGVyLiIKKyAgKGFwcGx5IGdudTpnbnUtYnVpbGQgIzppbnB1dHMgaW5wdXRz ICM6cGhhc2VzIHBoYXNlcyBhcmdzKSkKKworOzs7IG1lc29uLWJ1aWxkLXN5c3RlbS5zY20gZW5k cyBoZXJlCi0tIAoyLjE0LjEKCg== --001a113ff5e809b97d05594c8833-- From unknown Tue Aug 19 09:31:51 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Peter Mikkelsen Subject: bug#28444: closed (Re: [bug#28444] [PATCH 3/3] build-system: Add 'meson-build-system'.) Message-ID: References: <87ingik4hc.fsf@gnu.org> <20170913124822.13251-1-petermikkelsen10@gmail.com> X-Gnu-PR-Message: they-closed 28444 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 28444@debbugs.gnu.org Date: Sat, 16 Sep 2017 16:13:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1505578382-23373-1" This is a multi-part message in MIME format... ------------=_1505578382-23373-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #28444: [PATCH 0/3] Add meson-build-system which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 28444@debbugs.gnu.org. --=20 28444: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D28444 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1505578382-23373-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 28444-done) by debbugs.gnu.org; 16 Sep 2017 16:12:12 +0000 Received: from localhost ([127.0.0.1]:44182 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtFhT-00063w-PM for submit@debbugs.gnu.org; Sat, 16 Sep 2017 12:12:12 -0400 Received: from eggs.gnu.org ([208.118.235.92]:54041) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtFhQ-00063f-60 for 28444-done@debbugs.gnu.org; Sat, 16 Sep 2017 12:12:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dtFhJ-0006ls-Ez for 28444-done@debbugs.gnu.org; Sat, 16 Sep 2017 12:12:02 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43364) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dtFhJ-0006la-9k; Sat, 16 Sep 2017 12:12:01 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=52634 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dtFhI-00024n-Pk; Sat, 16 Sep 2017 12:12:01 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Peter Mikkelsen Subject: Re: [bug#28444] [PATCH 3/3] build-system: Add 'meson-build-system'. References: <20170913125003.13313-1-petermikkelsen10@gmail.com> <20170913125003.13313-3-petermikkelsen10@gmail.com> <87a81vllgk.fsf@gnu.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 30 Fructidor an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Sat, 16 Sep 2017 18:11:59 +0200 In-Reply-To: (Peter Mikkelsen's message of "Sat, 16 Sep 2017 13:08:37 +0200") Message-ID: <87ingik4hc.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28444-done Cc: 28444-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Peter, Peter Mikkelsen skribis: [...] >> According to this description, half of it corresponds to the >> =E2=80=98validate-runpath=E2=80=99 phase, no? > > To my understanding 'validate-runpath' just checks and complains, but > this phase checks if it can find any dependencies in directories that > are local to the package, and if it can, it adds them to the runpath. > I have tried to update the description :) I see. Out of curiosity, which libraries did you find to be present in RUNPATH but not in NEEDED? I=E2=80=99d consider it a Meson bug (or a bug in how the package uses Meson= ) if test libraries are passed as -l when linking non-test binaries. At any rate, we should implement =E2=80=98shrink-runpath=E2=80=99 in (guix = build gremlin) someday! > From 8185c2a154c7473d3b50351246cc83b792ec6a57 Mon Sep 17 00:00:00 2001 > From: Peter Mikkelsen > Date: Wed, 13 Sep 2017 14:37:39 +0200 > Subject: [PATCH] build-system: Add 'meson-build-system'. > > * Makefile.am (MODULES): Add 'guix/build-system/meson.scm' and > 'guix/build/meson-build-system.scm'. > * guix/build-system/meson.scm: New file. > * guix/build/meson-build-system.scm: New file. > * doc/guix.texi (Build Systems): Add 'meson-build-system'. Pushed with the changes below. Thank you! Now to upgrade GNOME? :-) Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/doc/guix.texi b/doc/guix.texi index 1fee21314..1356a357c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3814,16 +3814,16 @@ locations in the output directory. @defvr {Scheme Variable} meson-build-system This variable is exported by @code{(guix build-system meson)}. It implements the build procedure for packages that use -@url{http://mesonbuild.com, meson} as their build system. +@url{http://mesonbuild.com, Meson} as their build system. -It adds both @code{meson} and @code{ninja} to the set of inputs, and they -can be changed with the parameters @code{#:meson} and @code{#:ninja} if needed. -The default @code{meson} is @code{meson-for-build} which is special because -it doesn't clear the @code{RUNPATH} of binaries and libraries when they are -installed. +It adds both Meson and @uref{https://ninja-build.org/, Ninja} to the set +of inputs, and they can be changed with the parameters @code{#:meson} +and @code{#:ninja} if needed. The default Meson is +@code{meson-for-build}, which is special because it doesn't clear the +@code{RUNPATH} of binaries and libraries when they are installed. -The build-system is an extension of @var{gnu-build-system}, but with the -following phases changed to some specific for meson: +This build system is an extension of @var{gnu-build-system}, but with the +following phases changed to some specific for Meson: @table @code @@ -3838,7 +3838,7 @@ this can be changed with @code{#:parallel-build?}. @item check The phase runs @code{ninja} with the target specified in @code{#:test-target}, -which is @var{``test''} by default. +which is @code{"test"} by default. @item install The phase runs @code{ninja install} and can not be changed. @@ -3857,11 +3857,11 @@ when they are build, but often that is not the @code{RUNPATH} we want. Therefor it is also shrinked to the minimum needed by the program. @item glib-or-gtk-wrap -This phase is the phase provided by @var{glib-or-gtk-build-system}, and it +This phase is the phase provided by @code{glib-or-gtk-build-system}, and it is not enabled by default. It can be enabled with @code{#:glib-or-gtk?}. @item glib-or-gtk-compile-schemas -This phase is the phase provided by @var{glib-or-gtk-build-system}, and it +This phase is the phase provided by @code{glib-or-gtk-build-system}, and it is not enabled by default. It can be enabled with @code{#:glib-or-gtk?}. @end table @end defvr diff --git a/guix/build/meson-build-system.scm b/guix/build/meson-build-system.scm index 51542974e..2b92240c5 100644 --- a/guix/build/meson-build-system.scm +++ b/guix/build/meson-build-system.scm @@ -27,7 +27,6 @@ #:use-module (rnrs io ports) #:use-module (srfi srfi-1) #:export (%standard-phases - %glib-or-gtk-phases meson-build)) ;; Commentary: @@ -61,8 +60,10 @@ (define* (check #:key test-target parallel-tests? tests? #:allow-other-keys) - (unless parallel-tests? - (setenv "MESON_TESTTHREADS" "1")) + (setenv "MESON_TESTTHREADS" + (if parallel-tests? + (number->string (parallel-job-count)) + "1")) (if tests? (zero? (system* "ninja" test-target)) (begin @@ -114,7 +115,7 @@ for example libraries only needed for the tests." (let* ((elf-dirnames (map (lambda (subdir) (string-append directory "/" subdir)) elf-directories)) - (excisting-elf-dirs (filter (lambda (dir) + (existing-elf-dirs (filter (lambda (dir) (and (file-exists? dir) (file-is-directory? dir))) elf-dirnames)) @@ -122,7 +123,7 @@ for example libraries only needed for the tests." (elf-file? name))) (elf-list (concatenate (map (lambda (dir) (find-files dir elf-pred)) - excisting-elf-dirs)))) + existing-elf-dirs)))) (for-each (lambda (elf-file) (system* "patchelf" "--shrink-rpath" elf-file) (handle-file elf-file elf-list)) --=-=-=-- ------------=_1505578382-23373-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 13 Sep 2017 12:48:53 +0000 Received: from localhost ([127.0.0.1]:37293 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ds765-0004Ht-2R for submit@debbugs.gnu.org; Wed, 13 Sep 2017 08:48:53 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60817) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ds761-0004Hc-Ft for submit@debbugs.gnu.org; Wed, 13 Sep 2017 08:48:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ds75v-0004K2-JM for submit@debbugs.gnu.org; Wed, 13 Sep 2017 08:48:44 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:57720) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ds75v-0004Jk-GB for submit@debbugs.gnu.org; Wed, 13 Sep 2017 08:48:43 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51778) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ds75u-0007BQ-9g for guix-patches@gnu.org; Wed, 13 Sep 2017 08:48:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ds75q-0004DQ-BV for guix-patches@gnu.org; Wed, 13 Sep 2017 08:48:42 -0400 Received: from mail-lf0-x242.google.com ([2a00:1450:4010:c07::242]:38901) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ds75q-0004Ai-3r for guix-patches@gnu.org; Wed, 13 Sep 2017 08:48:38 -0400 Received: by mail-lf0-x242.google.com with SMTP id m199so55338lfe.5 for ; Wed, 13 Sep 2017 05:48:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=BGHATGUNHZn53A54cN6m3bdHCSdR50KqFXKT5qnWwIU=; b=KKPE6E7zHxXGN/3t0C0/ODtjvVyAO4N0rQ9GT9PjfcNrDB5p3WVCu7YEJstRoubgFH zZ0/CeS4pn8XzNxT+aDBxAvVmkbtoPdp/Eirg/oNZOSF/Da5U2NgdMC0LOdM9CcEWPPr UOSwNtR5fYyTXdOUvr3ooc78gzLkuekCxXqHRUgPABF4cYLy/0c5HWcrEkaxgxmXKPR/ qGwSVKtLE8UQ2jT7rcaz8TO3CDfDAseXdYhYj/tE24wMP+7x8/0XU5apsqCdQt0uwMH5 o0F+EEDssM5GjCW7JMl5UC47dfgojddVpZ7rpikSQ9JBAKWYaiyEouSfgtuK12ZcKeUQ Fp+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=BGHATGUNHZn53A54cN6m3bdHCSdR50KqFXKT5qnWwIU=; b=bx8xt2IBaUSgO3feuzAglpGpsw2v1xh5+mIZvNgHHrupazl2YEiX7S2SY3FAB2UDph t1OSyfrgG/Xl1bBhicC7gSI4bb9GHLG4McbeS3JXmeTMGSGTZE4/BpkbNLuTHAZsbK6c zwk1ZthBKpw1i+ggw3pD24aCJXfDB4zGEAWxHhMJXqZvBOTtooFYuyXKyeTO/i6z1CcF CM3G/vAmFGTt583ZH/mymWltApqYIMuE/KWCN7ekRUv7zZs89MNXAXq6fv2dbRCFjfAd TB4zjPAe/HSbL5rI+DzfQoSlJi6kMduZupxDM2cj13jlgEEnjaL2Vgeed2LXpSJDWyuz EP+A== X-Gm-Message-State: AHPjjUh9EovoACn+Alvw+7gf2iFJu7blnk7SuN54JcypNGcH7+Eu9DzW I8ad+QoPTHTEjg16DX4= X-Google-Smtp-Source: AOwi7QDHeITapMPBFTNDRsUbfpnrXuC/qaadooXMdzA3w7seQj78ikswkl2uZR1cFmPkMtE3qOTVOw== X-Received: by 10.25.59.147 with SMTP id d19mr7322169lfl.90.1505306915237; Wed, 13 Sep 2017 05:48:35 -0700 (PDT) Received: from guixsd.ekskole.local ([192.66.115.29]) by smtp.gmail.com with ESMTPSA id r84sm284234ljb.82.2017.09.13.05.48.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Sep 2017 05:48:34 -0700 (PDT) From: Peter Mikkelsen To: guix-patches@gnu.org Subject: [PATCH 0/3] Add meson-build-system Date: Wed, 13 Sep 2017 14:48:22 +0200 Message-Id: <20170913124822.13251-1-petermikkelsen10@gmail.com> X-Mailer: git-send-email 2.14.1 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -3.8 (---) X-Debbugs-Envelope-To: submit Cc: Peter Mikkelsen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.8 (---) The following patches updates meson, adds a special version of meson to be used in the build system, and then adds the build system. It does not support cross compilation yet, but I might add it in the future. Happy hacking! Peter Mikkelsen (3): gnu: meson: Update to 0.42.0. gnu: Add meson-for-build. build-system: Add 'meson-build-system'. Makefile.am | 2 + doc/guix.texi | 55 +++++++ gnu/local.mk | 1 + gnu/packages/build-tools.scm | 20 ++- gnu/packages/patches/meson-for-build-rpath.patch | 24 +++ guix/build-system/meson.scm | 178 +++++++++++++++++++++++ guix/build/meson-build-system.scm | 144 ++++++++++++++++++ 7 files changed, 422 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/meson-for-build-rpath.patch create mode 100644 guix/build-system/meson.scm create mode 100644 guix/build/meson-build-system.scm -- 2.14.1 ------------=_1505578382-23373-1-- From unknown Tue Aug 19 09:31:51 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#28444] [PATCH 3/3] build-system: Add 'meson-build-system'. Resent-From: Peter Mikkelsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 16 Sep 2017 17:07:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 28444-done@debbugs.gnu.org Received: via spool by 28444-done@debbugs.gnu.org id=D28444.150558157228187 (code D ref 28444); Sat, 16 Sep 2017 17:07:03 +0000 Received: (at 28444-done) by debbugs.gnu.org; 16 Sep 2017 17:06:12 +0000 Received: from localhost ([127.0.0.1]:44210 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtGXj-0007KZ-PW for submit@debbugs.gnu.org; Sat, 16 Sep 2017 13:06:12 -0400 Received: from mail-io0-f174.google.com ([209.85.223.174]:47211) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtGXi-0007KK-Fk for 28444-done@debbugs.gnu.org; Sat, 16 Sep 2017 13:06:10 -0400 Received: by mail-io0-f174.google.com with SMTP id e189so12848602ioa.4 for <28444-done@debbugs.gnu.org>; Sat, 16 Sep 2017 10:06:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=gIYgQvexWUHP6GXyPhVDGuu8ZTtXhlIWiqSzjIKRf9A=; b=C6ZZyKDidpjHZl19J/U+4uzc/VHexmtXoqWRc5L71vd+QoQ5PDftvr+l+/XVb1fM/s gRiDAFryMoH2BDfBTI9IGktjNAch2ZAXE96T/3Hzcv+G79p30IeI/4ncCLEOp4/iR+VE 0sa4Nxs2yDTIaTFEbMA1Ud3Qp+4hOUDWFSTkxbL5ye+oxLkiyS5A3pEuA68KRCSy17Ip yyXgISduLIgVNGAdBkOd5Jb3pVOJmYT6S2fCEHFKewoKd4dMV1xXvzQENorQXrYEUIUJ xDXuUcfn5x4V+hUvDtlnqzYQDucUgq55hqYgLMSPKh5xbiDoED2JGhPzFNG4wv7Bunyl N5pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=gIYgQvexWUHP6GXyPhVDGuu8ZTtXhlIWiqSzjIKRf9A=; b=C5Wyd2mCZllKOr+f4npmwAvKRTLARDyy/hrpGMiJuxP9xS/RcVl9dDm00to4eEaERt IE8peKgFGpz8LpRXf1KqTtZht21P5efKyqLGNlu5BoWeDN6qDPjRbsZQ/vrRpOt9YPNc ENg/KcJLSvbk4vIF2igZ7Kk/zye5IfqhVCg0ToLIa7TRoRhU8sX+LFGGtj8ocQhzWPHS TjIpWmp7wdoOqaLlqBZEcxfvWLITK/ENL6sLzu8ptlAiYHv834bmJQ/R2ipetGkp0ggR ZLr3XlmZVOZgOahnWS1hWFtNcsllXFkA6uIhgGbGB+LAfL/Ef1LaLQfI0p/Ib8+WQj9E lsgg== X-Gm-Message-State: AHPjjUhENK1dlN12srvRiv/3gHOXVvRam8R3dIb7EOfUpbyhQaX7NEke p+nwbcXX9lxy5JcDCq68K37Z4H1vCnC6jDbGGCSwEg== X-Google-Smtp-Source: AOwi7QBuiQbL9vl+StE6aQVpuMEdEAB1RkpfxJHtKMrbh3qLi3m4eQrlsgsX5xat01f3PAFdYc62R7GMqJVq5gqFGs0= X-Received: by 10.107.88.17 with SMTP id m17mr12337947iob.101.1505581564594; Sat, 16 Sep 2017 10:06:04 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.144.83 with HTTP; Sat, 16 Sep 2017 10:06:03 -0700 (PDT) In-Reply-To: <87ingik4hc.fsf@gnu.org> References: <20170913125003.13313-1-petermikkelsen10@gmail.com> <20170913125003.13313-3-petermikkelsen10@gmail.com> <87a81vllgk.fsf@gnu.org> <87ingik4hc.fsf@gnu.org> From: Peter Mikkelsen Date: Sat, 16 Sep 2017 19:06:03 +0200 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.0 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.0 (--) 2017-09-16 18:11 GMT+02:00 Ludovic Court=C3=A8s : > > Hi Peter, > > Peter Mikkelsen skribis: > > > [...] > > >> According to this description, half of it corresponds to the > >> =E2=80=98validate-runpath=E2=80=99 phase, no? > > > > To my understanding 'validate-runpath' just checks and complains, but > > this phase checks if it can find any dependencies in directories that > > are local to the package, and if it can, it adds them to the runpath. > > I have tried to update the description :) > > I see. Out of curiosity, which libraries did you find to be present in > RUNPATH but not in NEEDED? > I tried building a simple program, and using 'patchelf --print-needed' i got this: libuuid.so libstdc++.so.6 libgcc_s.so.1 libc.so.6 and without the shrinking done, the runpath looks like this: /gnu/store/8y6wd2rfi6p3gpxcz3p1gyzsbxwyc9ha-uuid-cpp-0.6.5.1/lib:$ORIGIN/:/= gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib:/gnu/store/3x53yv= 4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib:/gnu/store/3x53yv4v144c9xp02rs= 64z7j597kkqax-gcc-5.4.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.4.0/../../.. and with, it looks like this: /gnu/store/nqdf6kr5cqfqh9z5yprar1yyfqwprj4v-uuid-cpp-0.6.5.1/lib:$ORIGIN/:/= gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib:/gnu/store/3x53yv= 4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib So the last part of the old runpath is removed, and looking at the output of ldd, it seems like it was never needed: linux-vdso.so.1 (0x00007ffd6cbe2000) libuuid.so =3D> /gnu/store/8y6wd2rfi6p3gpxcz3p1gyzsbxwyc9ha-uuid-cpp-0.6.5.= 1/lib/libuuid.so (0x00007feae61bc000) libstdc++.so.6 =3D> /gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib/libstdc++.so.= 6 (0x00007feae5e42000) libgcc_s.so.1 =3D> /gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib/libgcc_s.so.1 (0x00007feae5c2b000) libc.so.6 =3D> /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib/l= ibc.so.6 (0x00007feae588c000) libm.so.6 =3D> /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib/l= ibm.so.6 (0x00007feae557a000) /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib/ld-linux-x86-64.= so.2 (0x00007feae63c4000) Now, I am not sure it is worth shrinking, but I just think it is a little bit strange having unneeded directories in the runpath :) While trying to build a gnome package, I noticed that the runpath was huuuge before shrinking, but I don't have that package definition anymore :/ We can see what happens when we update gnome :) > > I=E2=80=99d consider it a Meson bug (or a bug in how the package uses Mes= on) if > test libraries are passed as -l when linking non-test binaries. > I don't know if this is what is happening, but on their side they 'fix' the runpath before install, which we don't. If any problem arises I will be happy to give it a look, but in the mean time, I think this will work :) > At any rate, we should implement =E2=80=98shrink-runpath=E2=80=99 in (gui= x build > gremlin) someday! That would be awesome! > > > From 8185c2a154c7473d3b50351246cc83b792ec6a57 Mon Sep 17 00:00:00 2001 > > From: Peter Mikkelsen > > Date: Wed, 13 Sep 2017 14:37:39 +0200 > > Subject: [PATCH] build-system: Add 'meson-build-system'. > > > > * Makefile.am (MODULES): Add 'guix/build-system/meson.scm' and > > 'guix/build/meson-build-system.scm'. > > * guix/build-system/meson.scm: New file. > > * guix/build/meson-build-system.scm: New file. > > * doc/guix.texi (Build Systems): Add 'meson-build-system'. > > Pushed with the changes below. > > Thank you! > > Now to upgrade GNOME? :-) Yes :) I will finish some ongoing Haskell work before giving it a shot > > Ludo=E2=80=99. > Thanks, Peter From unknown Tue Aug 19 09:31:51 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#28444] [PATCH 3/3] build-system: Add 'meson-build-system'. Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 Sep 2017 13:21:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Peter Mikkelsen Cc: 28444-done@debbugs.gnu.org Received: via spool by 28444-done@debbugs.gnu.org id=D28444.150565440920962 (code D ref 28444); Sun, 17 Sep 2017 13:21:01 +0000 Received: (at 28444-done) by debbugs.gnu.org; 17 Sep 2017 13:20:09 +0000 Received: from localhost ([127.0.0.1]:44538 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtZUT-0005Rz-M3 for submit@debbugs.gnu.org; Sun, 17 Sep 2017 09:20:09 -0400 Received: from eggs.gnu.org ([208.118.235.92]:49213) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtZUO-0005RO-9z for 28444-done@debbugs.gnu.org; Sun, 17 Sep 2017 09:20:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dtZUI-0003mG-1Z for 28444-done@debbugs.gnu.org; Sun, 17 Sep 2017 09:19:55 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:46773) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dtZUH-0003mA-UJ; Sun, 17 Sep 2017 09:19:53 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=53634 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dtZUH-0000sK-Dr; Sun, 17 Sep 2017 09:19:53 -0400 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <20170913125003.13313-1-petermikkelsen10@gmail.com> <20170913125003.13313-3-petermikkelsen10@gmail.com> <87a81vllgk.fsf@gnu.org> <87ingik4hc.fsf@gnu.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Jour de la Vertu de =?UTF-8?Q?l'Ann=C3=A9e?= 225 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Sun, 17 Sep 2017 15:19:50 +0200 In-Reply-To: (Peter Mikkelsen's message of "Sat, 16 Sep 2017 19:06:03 +0200") Message-ID: <87vakhihs9.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi Peter, Peter Mikkelsen skribis: > and without the shrinking done, the runpath looks like this: > > /gnu/store/8y6wd2rfi6p3gpxcz3p1gyzsbxwyc9ha-uuid-cpp-0.6.5.1/lib:$ORIGIN/= :/gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib:/gnu/store/3x53= yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib:/gnu/store/3x53yv4v144c9xp02= rs64z7j597kkqax-gcc-5.4.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.4.0/../../= .. > > and with, it looks like this: > > /gnu/store/nqdf6kr5cqfqh9z5yprar1yyfqwprj4v-uuid-cpp-0.6.5.1/lib:$ORIGIN/= :/gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib:/gnu/store/3x53= yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib > > So the last part of the old runpath is removed, and looking at the > output of ldd, it seems like it was never needed: > > linux-vdso.so.1 (0x00007ffd6cbe2000) > libuuid.so =3D> /gnu/store/8y6wd2rfi6p3gpxcz3p1gyzsbxwyc9ha-uuid-cpp-0.6.= 5.1/lib/libuuid.so > (0x00007feae61bc000) > libstdc++.so.6 =3D> > /gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib/libstdc++.s= o.6 > (0x00007feae5e42000) > libgcc_s.so.1 =3D> > /gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib/libgcc_s.so= .1 > (0x00007feae5c2b000) > libc.so.6 =3D> /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib= /libc.so.6 > (0x00007feae588c000) > libm.so.6 =3D> /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib= /libm.so.6 > (0x00007feae557a000) > /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib/ld-linux-x86-6= 4.so.2 > (0x00007feae63c4000) > > Now, I am not sure it is worth shrinking, but I just think it is a > little bit strange having unneeded directories in the runpath :) The last element of the RUNPATH above comes from GCC or so. I can=E2=80=99t hurt and you=E2=80=99ll probably find it on all the binaries we build; it= =E2=80=99s not related to Meson, I think. So if that=E2=80=99s the only reason for =E2=80=98patchelf --shrink-runpath= =E2=80=99, I would argue it=E2=80=99s not a valid one. :-) > While trying to build a gnome package, I noticed that the runpath was > huuuge before shrinking, but I don't have that package definition > anymore :/ Unless you find a more compelling example ;-) as you build packages with =E2=80=98meson-build-system=E2=80=99, I=E2=80=99d suggest we eventually rev= isit this issue and get rid of =E2=80=98fix-runpath=E2=80=99. That would remove the dependency= on PatchELF, which is sometimes a bit fragile. How does that sound? Thanks, Ludo=E2=80=99. From unknown Tue Aug 19 09:31:51 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#28444] [PATCH 3/3] build-system: Add 'meson-build-system'. Resent-From: Peter Mikkelsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 Sep 2017 13:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 28444-done@debbugs.gnu.org Received: via spool by 28444-done@debbugs.gnu.org id=D28444.150565467921408 (code D ref 28444); Sun, 17 Sep 2017 13:25:02 +0000 Received: (at 28444-done) by debbugs.gnu.org; 17 Sep 2017 13:24:39 +0000 Received: from localhost ([127.0.0.1]:44546 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtZYr-0005ZC-9T for submit@debbugs.gnu.org; Sun, 17 Sep 2017 09:24:39 -0400 Received: from mail-it0-f54.google.com ([209.85.214.54]:49266) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtZYm-0005Yw-25 for 28444-done@debbugs.gnu.org; Sun, 17 Sep 2017 09:24:35 -0400 Received: by mail-it0-f54.google.com with SMTP id w204so5933365itc.4 for <28444-done@debbugs.gnu.org>; Sun, 17 Sep 2017 06:24:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=yJap1nYNBGjPp+VBnGyAEY2Vmb4HIgkRxexjIjELASY=; b=SJqKEcoAzu5SjGWw6biyg1UCaYaA4Y4egYhAmztxlRp2proZWKLGzTja05TczbdLIq SArI8UFoEQE/3VWpQtW0X4pjL/b4RK/vGBA/xupq+qP5WrC4ZuV/6BgV6YuB2KT9ArA9 Fcq44rF9LbVxys6xW1fUiuODnIV2BpX0xkf+5aPFroS4cDMg+Zb9VDrzAXna4jOJr5DQ ipsYdMXMBavRaK9rSJNMYN0BWHBlGbZvEwPpxAdTGuhYnwrkGr+l9ahiF++ToFTBnBFM U+cFw0Pju1b+EcA1b/C5npIf6Ck4ZPpfQpzgBPK/j/eYCsLIaewYg56QoGbiadGFApth cMAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=yJap1nYNBGjPp+VBnGyAEY2Vmb4HIgkRxexjIjELASY=; b=rJTQw6iUSqwC+cQlHaZBqimJ2JvUFNULfrsAzd6L7pVnRUsSbYqlvpQXOnepyUrHIJ X+csb+TF4gh7+f/qlzW7QivdqWR4R5alp6YVmovZCGt/AA8XZ4cGuJ13iYuCWb7c0BgK ASsw7r4EyvEu4so6jX+XVUKHDvmAH+4NJz1uHpt9kkiIMuK5NefKoyj4wqj+Y03YQ4Hl NzQiXjnXkZBJXKdsu50RxBKXPZfChzPH+BwxAkqBAt1q0WwJujcZHXAGezkMz8vL8fWV ZaSM5nEP8ifgRx1uG0GamFZIz6UdhLzapkIw4HJD5rTA1baW5WSZEht5RAF9Z6Tc/Eyy JhFQ== X-Gm-Message-State: AHPjjUgXMbKQnofJJae5ocYf6hcFmWyt6pqB9+4PiZIna5iooeHfAJ0a 33S67ZNV/nbTdWWgYRcVn0TDicoTVESS80rWmI5z+g== X-Google-Smtp-Source: AOwi7QBeLy1YcworzgJ0oCF9ZrHi1OiBAhFc/HgbEdcg5PrQZi09AA5oYE2dNbzqCIJ9aFSn+88ZC7udYm5VO4pTjXA= X-Received: by 10.36.208.132 with SMTP id m126mr10187228itg.130.1505654666203; Sun, 17 Sep 2017 06:24:26 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.144.83 with HTTP; Sun, 17 Sep 2017 06:24:25 -0700 (PDT) In-Reply-To: <87vakhihs9.fsf@gnu.org> References: <20170913125003.13313-1-petermikkelsen10@gmail.com> <20170913125003.13313-3-petermikkelsen10@gmail.com> <87a81vllgk.fsf@gnu.org> <87ingik4hc.fsf@gnu.org> <87vakhihs9.fsf@gnu.org> From: Peter Mikkelsen Date: Sun, 17 Sep 2017 15:24:25 +0200 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Hi Ludovic 2017-09-17 15:19 GMT+02:00 Ludovic Court=C3=A8s : > > Hi Peter, > > Peter Mikkelsen skribis: > > > and without the shrinking done, the runpath looks like this: > > > > /gnu/store/8y6wd2rfi6p3gpxcz3p1gyzsbxwyc9ha-uuid-cpp-0.6.5.1/lib:$ORIGI= N/:/gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib:/gnu/store/3x= 53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib:/gnu/store/3x53yv4v144c9xp= 02rs64z7j597kkqax-gcc-5.4.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.4.0/../.= ./.. > > > > and with, it looks like this: > > > > /gnu/store/nqdf6kr5cqfqh9z5yprar1yyfqwprj4v-uuid-cpp-0.6.5.1/lib:$ORIGI= N/:/gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib:/gnu/store/3x= 53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib > > > > So the last part of the old runpath is removed, and looking at the > > output of ldd, it seems like it was never needed: > > > > linux-vdso.so.1 (0x00007ffd6cbe2000) > > libuuid.so =3D> /gnu/store/8y6wd2rfi6p3gpxcz3p1gyzsbxwyc9ha-uuid-cpp-0.= 6.5.1/lib/libuuid.so > > (0x00007feae61bc000) > > libstdc++.so.6 =3D> > > /gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib/libstdc++= .so.6 > > (0x00007feae5e42000) > > libgcc_s.so.1 =3D> > > /gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib/libgcc_s.= so.1 > > (0x00007feae5c2b000) > > libc.so.6 =3D> /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/l= ib/libc.so.6 > > (0x00007feae588c000) > > libm.so.6 =3D> /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/l= ib/libm.so.6 > > (0x00007feae557a000) > > /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib/ld-linux-x86= -64.so.2 > > (0x00007feae63c4000) > > > > Now, I am not sure it is worth shrinking, but I just think it is a > > little bit strange having unneeded directories in the runpath :) > > The last element of the RUNPATH above comes from GCC or so. I can=E2=80= =99t > hurt and you=E2=80=99ll probably find it on all the binaries we build; it= =E2=80=99s not > related to Meson, I think. > > So if that=E2=80=99s the only reason for =E2=80=98patchelf --shrink-runpa= th=E2=80=99, I would > argue it=E2=80=99s not a valid one. :-) > > > While trying to build a gnome package, I noticed that the runpath was > > huuuge before shrinking, but I don't have that package definition > > anymore :/ > > Unless you find a more compelling example ;-) as you build packages with > =E2=80=98meson-build-system=E2=80=99, I=E2=80=99d suggest we eventually r= evisit this issue and > get rid of =E2=80=98fix-runpath=E2=80=99. That would remove the dependen= cy on PatchELF, > which is sometimes a bit fragile. > > How does that sound? > That sounds good to me :) > Thanks, > Ludo=E2=80=99. From unknown Tue Aug 19 09:31:51 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#28444] [PATCH 3/3] build-system: Add 'meson-build-system'. Resent-From: Peter Mikkelsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 Sep 2017 14:03:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 28444-done@debbugs.gnu.org Received: via spool by 28444-done@debbugs.gnu.org id=D28444.150565693332643 (code D ref 28444); Sun, 17 Sep 2017 14:03:03 +0000 Received: (at 28444-done) by debbugs.gnu.org; 17 Sep 2017 14:02:13 +0000 Received: from localhost ([127.0.0.1]:45177 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dta9B-0008UN-R0 for submit@debbugs.gnu.org; Sun, 17 Sep 2017 10:02:13 -0400 Received: from mail-io0-f176.google.com ([209.85.223.176]:44809) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dta97-0008Tr-RY for 28444-done@debbugs.gnu.org; Sun, 17 Sep 2017 10:02:09 -0400 Received: by mail-io0-f176.google.com with SMTP id v36so13748211ioi.1 for <28444-done@debbugs.gnu.org>; Sun, 17 Sep 2017 07:02:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=54rCjhC1uh2SCphOrTg5sczLvQUhhWkZyt5knE8au7A=; b=EMBArgsZtloo3/uVLUWDUX1+8vfyzvdXbY7MuCgOxPZGw5Dw6Z11ly7lpzrHWC+pst yCgCjMsYSfmzXnllhhYTqh+M8N/MjmfLkQpVft2s5NnC4RQc4tD1Gb2SdqAg/xGWhi7D GzjO0/wf8rMZj2ahSOltlG6mLDoEEIfB4iPcD76F8BnO6Q07lrERriVrFhd7RIMdbzEZ /gC8X6+D3vNFDtNe0yWOliFicUmb1rmpjPe6K4BOB7wggqIJnONd1IWEmix3AiJORS9C Zl/d7I+wcqBuTG2djTeztNfOXwjz7tBkXsQq5tCEd1LCATYLxmvWvfrJiFyfluYhO4TG U80g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=54rCjhC1uh2SCphOrTg5sczLvQUhhWkZyt5knE8au7A=; b=Dq3hSVf244jXMEIeCwWDpiDkO/CLZJ0FGQt0j94CdZWi2VOntgvqsFbhcVVyhaPd8p xsNAqDlFb6BSGAagfHlhhAA7IBX6TdX7wd9SHQIqywVZkGn2h/qI2gRU+eyoEEkyzhnO ndtUIX5hCiZUPa5dl59XFOUjaq45KkAodH9SoCjvZ4V0JpqTIc7D+c9zWy+qpw5YLbx2 EBpetxe6XhkbEIPp3jfSEnFOcWnrg3CPbSKoTrZ8JYa+/h4R4ZzB7xKI9yic//n2nYoY 45Q1ke8Rz90xDAPKLngz/Cxeq7cb6yJ9xDAAIFR2tRo1DEhGyc9SDf8f64tjDypVgSkS RQaQ== X-Gm-Message-State: AHPjjUjgMIhnKlvqs03IulCq1WxiS+zzaep9EM5eW6q3Pe8l/41pSpZj nl12vj4ho/VDTZl064tNYFRYH8oy2oN2KctJ8u11Cw== X-Google-Smtp-Source: AOwi7QBXfvaupz7O0fupgfJVXiiVzKLCGMVySVcDMMMb+l1ICvkidq/zrUPNsMTKX2lpmJj3ipMilKf5W7UJIeupJe4= X-Received: by 10.107.81.1 with SMTP id f1mr15480979iob.17.1505656920052; Sun, 17 Sep 2017 07:02:00 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.144.83 with HTTP; Sun, 17 Sep 2017 07:01:59 -0700 (PDT) In-Reply-To: <87vakhihs9.fsf@gnu.org> References: <20170913125003.13313-1-petermikkelsen10@gmail.com> <20170913125003.13313-3-petermikkelsen10@gmail.com> <87a81vllgk.fsf@gnu.org> <87ingik4hc.fsf@gnu.org> <87vakhihs9.fsf@gnu.org> From: Peter Mikkelsen Date: Sun, 17 Sep 2017 16:01:59 +0200 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.0 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.0 (--) 2017-09-17 15:19 GMT+02:00 Ludovic Court=C3=A8s : > Hi Peter, > > Peter Mikkelsen skribis: > >> and without the shrinking done, the runpath looks like this: >> >> /gnu/store/8y6wd2rfi6p3gpxcz3p1gyzsbxwyc9ha-uuid-cpp-0.6.5.1/lib:$ORIGIN= /:/gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib:/gnu/store/3x5= 3yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib:/gnu/store/3x53yv4v144c9xp0= 2rs64z7j597kkqax-gcc-5.4.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.4.0/../..= /.. >> >> and with, it looks like this: >> >> /gnu/store/nqdf6kr5cqfqh9z5yprar1yyfqwprj4v-uuid-cpp-0.6.5.1/lib:$ORIGIN= /:/gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib:/gnu/store/3x5= 3yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib >> >> So the last part of the old runpath is removed, and looking at the >> output of ldd, it seems like it was never needed: >> >> linux-vdso.so.1 (0x00007ffd6cbe2000) >> libuuid.so =3D> /gnu/store/8y6wd2rfi6p3gpxcz3p1gyzsbxwyc9ha-uuid-cpp-0.6= .5.1/lib/libuuid.so >> (0x00007feae61bc000) >> libstdc++.so.6 =3D> >> /gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib/libstdc++.= so.6 >> (0x00007feae5e42000) >> libgcc_s.so.1 =3D> >> /gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib/libgcc_s.s= o.1 >> (0x00007feae5c2b000) >> libc.so.6 =3D> /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/li= b/libc.so.6 >> (0x00007feae588c000) >> libm.so.6 =3D> /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/li= b/libm.so.6 >> (0x00007feae557a000) >> /gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25/lib/ld-linux-x86-= 64.so.2 >> (0x00007feae63c4000) >> >> Now, I am not sure it is worth shrinking, but I just think it is a >> little bit strange having unneeded directories in the runpath :) > > The last element of the RUNPATH above comes from GCC or so. I can=E2=80= =99t > hurt and you=E2=80=99ll probably find it on all the binaries we build; it= =E2=80=99s not > related to Meson, I think. > > So if that=E2=80=99s the only reason for =E2=80=98patchelf --shrink-runpa= th=E2=80=99, I would > argue it=E2=80=99s not a valid one. :-) > >> While trying to build a gnome package, I noticed that the runpath was >> huuuge before shrinking, but I don't have that package definition >> anymore :/ > > Unless you find a more compelling example ;-) as you build packages with > =E2=80=98meson-build-system=E2=80=99, I=E2=80=99d suggest we eventually r= evisit this issue and > get rid of =E2=80=98fix-runpath=E2=80=99. That would remove the dependen= cy on PatchELF, > which is sometimes a bit fragile. > > How does that sound? > > Thanks, > Ludo=E2=80=99. I just tried building nautilus 3.26.0 and without the shrinking done, the nautilus binary has the following rpath: /gnu/store/xw2zvqd6q2gf2pj9y3xvgk4y2fnk5nna-nautilus-3.26.0/lib:$ORIGIN/../= libnautilus-extension:/gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.2= 5/lib:/gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib:/gnu/st= ore/12zbd0c57gb79gyfx8xwqiv6pyj3i0q6-glib-2.52.2/lib:/gnu/store/b8lcaqx0rkf= nd3xbvqy5lr879fyk5x3q-gtk+-3.22.15/lib:/gnu/store/ssgjajkyc4az3akaham2azyq7= gs9cl37-pango-1.40.6/lib:/gnu/store/rcs3yji9vi2lmm22lmxk54jnhch2jry9-atk-2.= 24.0/lib:/gnu/store/1fzljsi7ksngzq2g66lcvwjadfxnplkh-cairo-1.14.8/lib:/gnu/= store/w7rxc4g47k2i6f8zrxnlsvajm5vz4r68-gdk-pixbuf+svg-2.36.6/lib:/gnu/store= /q0aya45mp1y1hk8i2wx4jgr0y81j8pi3-gnome-autoar-0.2.2/lib:/gnu/store/13980g3= 067dcx7hw6m766qlhagj1vfck-libarchive-3.3.1/lib:/gnu/store/kwzs8k97qy7avxxld= nzavlii9zphh3d6-libxml2-2.9.4/lib:/gnu/store/h4vf97f7fxjzqwhds2xccmk4ahr100= 9q-gnome-desktop-3.24.2/lib:/gnu/store/np05q8mf1y9y4bk5y4ssj99m0dss2b1q-lib= x11-1.6.5/lib:/gnu/store/mw7hxaz7k5amabk8g2gr5akyrvvm1pmf-tracker-1.12.3/li= b:/gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib/gcc/x86_64-= unknown-linux-gnu/5.4.0/../../.. And with shrinking this: /gnu/store/c0jkvchpxs3qfkai8cgz2d65xzhlhwb6-nautilus-3.26.0/lib:$ORIGIN/../= libnautilus-extension:/gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.2= 5/lib:/gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib:/gnu/st= ore/12zbd0c57gb79gyfx8xwqiv6pyj3i0q6-glib-2.52.2/lib:/gnu/store/b8lcaqx0rkf= nd3xbvqy5lr879fyk5x3q-gtk+-3.22.15/lib:/gnu/store/ssgjajkyc4az3akaham2azyq7= gs9cl37-pango-1.40.6/lib:/gnu/store/rcs3yji9vi2lmm22lmxk54jnhch2jry9-atk-2.= 24.0/lib:/gnu/store/1fzljsi7ksngzq2g66lcvwjadfxnplkh-cairo-1.14.8/lib:/gnu/= store/w7rxc4g47k2i6f8zrxnlsvajm5vz4r68-gdk-pixbuf+svg-2.36.6/lib:/gnu/store= /q0aya45mp1y1hk8i2wx4jgr0y81j8pi3-gnome-autoar-0.2.2/lib:/gnu/store/h4vf97f= 7fxjzqwhds2xccmk4ahr1009q-gnome-desktop-3.24.2/lib:/gnu/store/np05q8mf1y9y4= bk5y4ssj99m0dss2b1q-libx11-1.6.5/lib:/gnu/store/mw7hxaz7k5amabk8g2gr5akyrvv= m1pmf-tracker-1.12.3/lib This means that the following directories are unneeded but still in the RUNPATH for some reason: /gnu/store/13980g3067dcx7hw6m766qlhagj1vfck-libarchive-3.3.1/lib:/gnu/store= /kwzs8k97qy7avxxldnzavlii9zphh3d6-libxml2-2.9.4/lib :) Peter From unknown Tue Aug 19 09:31:51 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#28444] [PATCH 3/3] build-system: Add 'meson-build-system'. Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 Sep 2017 19:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28444 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Peter Mikkelsen Cc: 28444-done@debbugs.gnu.org Received: via spool by 28444-done@debbugs.gnu.org id=D28444.150567609428706 (code D ref 28444); Sun, 17 Sep 2017 19:22:02 +0000 Received: (at 28444-done) by debbugs.gnu.org; 17 Sep 2017 19:21:34 +0000 Received: from localhost ([127.0.0.1]:45277 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtf8I-0007Sw-HE for submit@debbugs.gnu.org; Sun, 17 Sep 2017 15:21:34 -0400 Received: from eggs.gnu.org ([208.118.235.92]:51715) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtf8H-0007Sj-0T for 28444-done@debbugs.gnu.org; Sun, 17 Sep 2017 15:21:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dtf8A-0000Te-Q2 for 28444-done@debbugs.gnu.org; Sun, 17 Sep 2017 15:21:27 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35166) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dtf8A-0000Ta-MS; Sun, 17 Sep 2017 15:21:26 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=54142 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dtf8A-0001Hb-3t; Sun, 17 Sep 2017 15:21:26 -0400 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <20170913125003.13313-1-petermikkelsen10@gmail.com> <20170913125003.13313-3-petermikkelsen10@gmail.com> <87a81vllgk.fsf@gnu.org> <87ingik4hc.fsf@gnu.org> <87vakhihs9.fsf@gnu.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Jour de la Vertu de =?UTF-8?Q?l'Ann=C3=A9e?= 225 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Sun, 17 Sep 2017 21:21:23 +0200 In-Reply-To: (Peter Mikkelsen's message of "Sun, 17 Sep 2017 16:01:59 +0200") Message-ID: <87poapgmh8.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Heya, Peter Mikkelsen skribis: > I just tried building nautilus 3.26.0 and without the shrinking done, > the nautilus binary has the following rpath: > > /gnu/store/xw2zvqd6q2gf2pj9y3xvgk4y2fnk5nna-nautilus-3.26.0/lib:$ORIGIN/.= ./libnautilus-extension:/gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2= .25/lib:/gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib:/gnu/= store/12zbd0c57gb79gyfx8xwqiv6pyj3i0q6-glib-2.52.2/lib:/gnu/store/b8lcaqx0r= kfnd3xbvqy5lr879fyk5x3q-gtk+-3.22.15/lib:/gnu/store/ssgjajkyc4az3akaham2azy= q7gs9cl37-pango-1.40.6/lib:/gnu/store/rcs3yji9vi2lmm22lmxk54jnhch2jry9-atk-= 2.24.0/lib:/gnu/store/1fzljsi7ksngzq2g66lcvwjadfxnplkh-cairo-1.14.8/lib:/gn= u/store/w7rxc4g47k2i6f8zrxnlsvajm5vz4r68-gdk-pixbuf+svg-2.36.6/lib:/gnu/sto= re/q0aya45mp1y1hk8i2wx4jgr0y81j8pi3-gnome-autoar-0.2.2/lib:/gnu/store/13980= g3067dcx7hw6m766qlhagj1vfck-libarchive-3.3.1/lib:/gnu/store/kwzs8k97qy7avxx= ldnzavlii9zphh3d6-libxml2-2.9.4/lib:/gnu/store/h4vf97f7fxjzqwhds2xccmk4ahr1= 009q-gnome-desktop-3.24.2/lib:/gnu/store/np05q8mf1y9y4bk5y4ssj99m0dss2b1q-l= ibx11-1.6.5/lib:/gnu/store/mw7hxaz7k5amabk8g2gr5akyrvvm1pmf-tracker-1.12.3/= lib:/gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib/gcc/x86_6= 4-unknown-linux-gnu/5.4.0/../../.. > > And with shrinking this: > > /gnu/store/c0jkvchpxs3qfkai8cgz2d65xzhlhwb6-nautilus-3.26.0/lib:$ORIGIN/.= ./libnautilus-extension:/gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2= .25/lib:/gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib/lib:/gnu/= store/12zbd0c57gb79gyfx8xwqiv6pyj3i0q6-glib-2.52.2/lib:/gnu/store/b8lcaqx0r= kfnd3xbvqy5lr879fyk5x3q-gtk+-3.22.15/lib:/gnu/store/ssgjajkyc4az3akaham2azy= q7gs9cl37-pango-1.40.6/lib:/gnu/store/rcs3yji9vi2lmm22lmxk54jnhch2jry9-atk-= 2.24.0/lib:/gnu/store/1fzljsi7ksngzq2g66lcvwjadfxnplkh-cairo-1.14.8/lib:/gn= u/store/w7rxc4g47k2i6f8zrxnlsvajm5vz4r68-gdk-pixbuf+svg-2.36.6/lib:/gnu/sto= re/q0aya45mp1y1hk8i2wx4jgr0y81j8pi3-gnome-autoar-0.2.2/lib:/gnu/store/h4vf9= 7f7fxjzqwhds2xccmk4ahr1009q-gnome-desktop-3.24.2/lib:/gnu/store/np05q8mf1y9= y4bk5y4ssj99m0dss2b1q-libx11-1.6.5/lib:/gnu/store/mw7hxaz7k5amabk8g2gr5akyr= vvm1pmf-tracker-1.12.3/lib > > This means that the following directories are unneeded but still in > the RUNPATH for some reason: > > /gnu/store/13980g3067dcx7hw6m766qlhagj1vfck-libarchive-3.3.1/lib:/gnu/sto= re/kwzs8k97qy7avxxldnzavlii9zphh3d6-libxml2-2.9.4/lib Interesting. Do you see in the build log where it comes from? There are two ways an entry can be added to the RUNPATH: (1) via an explicit =E2=80=9C-Wl,-rpath=E2=80=9D flag, or (2) via =E2=80=9C-lfoo=E2=80=9D, whic= h ld-wrapper converts to =E2=80=9C-lfoo -Wl,-rpath=3D=E2=80=A6=E2=80=9D. Thanks for investigating! Ludo=E2=80=99.