From patchwork Wed Nov 16 13:27:33 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Sassmannshausen X-Patchwork-Id: 17508 Received: (qmail 50616 invoked by uid 89); 16 Nov 2016 13:28:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.2 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.7 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1770, Everything, H*m:alex, H*Ad:D*co X-Spam-Status: No, score=-4.7 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: lists.gnu.org Received: from lists.gnu.org (HELO lists.gnu.org) (208.118.235.17) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 16 Nov 2016 13:28:00 +0000 Received: from localhost ([::1]:52592 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c70Fq-0004Xu-R5 for patchwork@sourceware.org; Wed, 16 Nov 2016 08:27:58 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33922) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c70Fl-0004Xl-T7 for guix-devel@gnu.org; Wed, 16 Nov 2016 08:27:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c70Fj-0002AC-Fj for guix-devel@gnu.org; Wed, 16 Nov 2016 08:27:53 -0500 Received: from mail-wm0-x244.google.com ([2a00:1450:400c:c09::244]:34497) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1c70Fj-00029r-8B for guix-devel@gnu.org; Wed, 16 Nov 2016 08:27:51 -0500 Received: by mail-wm0-x244.google.com with SMTP id g23so11184401wme.1 for ; Wed, 16 Nov 2016 05:27:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=x14wWCt1uRHApz/97ptIJzND2/qqqSwWoSd/d/h9AZ0=; b=cpGOSXAwhpS0UuWcIScArQtlMS0c45ucZ8+T2RGeSuhcFkjkd/eao854n1pKNIqKk7 9Ch76dHqp9KTrydCNqGm8aTSEC2bvCnkbCsuBinZtCkweFEtfFtKLrUxUL1/JcsL7U55 Xq5WcJ7Xn0CUf5AOQCx8Z7PgZPAn4Ij8aXObBZJzioY82Qd5bvWbWm6zOEq6alveAlkF QJOL68Tmzx52X3851h+n3K6HHh7AFymYt1BmR/z4B3LlspSNhvqNfuARJngRztWf8v3T 1axZI5YinE4l8oseK8e+YnJ9c5GnlIoVR5HAQTllMweiiwz3JPBgzCvzCqhCQBlK910e Ym0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=x14wWCt1uRHApz/97ptIJzND2/qqqSwWoSd/d/h9AZ0=; b=nOOBvQrRCOt0siP77FeCREmbPTL/Dk+FT5D+Ab88pl8DOkbWg0SWIQcBgV4U93sMZo w2dk8a8j6XScIIs6c3AwE9PDiqWb3zspyRBne/98xeTeAEYwmVlzRrXVpbRAvo255lTU ewqRf1AE39rt6gdjT59pwupS5IU7Cm+WeDRp5YzNdGfM/TTktB0pSfdsztQ2+0wStTgd 3cdaCevf3VnMSF7ZgV6+uA+fvpRKQ2ag3bGwxKEiBukTzCUJJlS4x5SkE4kGB5mnpEqb yJM2FKJ2FuzLKIzf8lW+Owe6ePzVWJ3y692oR+dCSGiQFrIy+9lyastLMQEP374HCtwu qZtA== X-Gm-Message-State: ABUngvd5kWyVnOzWz5klQlz/meNMcB0OEcbkHa4llspV5f6l+JFV0GEGUOqAAWzs6dYdOQ== X-Received: by 10.28.46.197 with SMTP id u188mr10700578wmu.61.1479302869568; Wed, 16 Nov 2016 05:27:49 -0800 (PST) Received: from localhost.localdomain ([91.178.67.142]) by smtp.gmail.com with ESMTPSA id l67sm10261108wmf.0.2016.11.16.05.27.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Nov 2016 05:27:48 -0800 (PST) From: Alex Sassmannshausen X-Google-Original-From: Alex Sassmannshausen To: guix-devel@gnu.org Subject: [PATCH 2/3] build/perl-build-system: Add `wrap` phase. Date: Wed, 16 Nov 2016 14:27:33 +0100 Message-Id: <20161116132734.5943-3-alex@pompo.co> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20161116132734.5943-1-alex@pompo.co> References: <20161116132734.5943-1-alex@pompo.co> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::244 X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alex Sassmannshausen Errors-To: guix-devel-bounces+patchwork=sourceware.org@gnu.org Sender: "Guix-devel" * guix/build/perl-build-system.scm (wrap): New procedure. (%standard-phases): Add `wrap` phase. --- guix/build/perl-build-system.scm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/guix/build/perl-build-system.scm b/guix/build/perl-build-system.scm index 8f480ea..861d75c 100644 --- a/guix/build/perl-build-system.scm +++ b/guix/build/perl-build-system.scm @@ -19,7 +19,7 @@ (define-module (guix build perl-build-system) #:use-module ((guix build gnu-build-system) #:prefix gnu:) #:use-module (guix build utils) - #:use-module (ice-9 match) + #:use-module (srfi srfi-1) #:export (%standard-phases perl-build)) @@ -47,6 +47,15 @@ (format #t "running `perl' with arguments ~s~%" args) (zero? (apply system* "perl" args)))) +;; Use `wrap-language-program' to return an executable wrapper for perl. +(define wrap + (wrap-language-programs + (lambda (inputs outputs) + (string-append (assoc-ref outputs "out") "/lib/perl5/site_perl/" + ;; As in python, assume version at end of `perl' string. + (last (string-split (assoc-ref inputs "perl") #\-)))) + "PERL5LIB")) + (define-syntax-rule (define-w/gnu-fallback* (name args ...) body ...) (define* (name args ... #:rest rest) (if (access? "Build" X_OK) @@ -70,9 +79,11 @@ (define %standard-phases ;; Everything is as with the GNU Build System except for the `configure', - ;; `build', `check', and `install' phases. + ;; `build', `check', and `install' phases. We also add a `wrap' phase to + ;; wrap perl binaries with a complete PERL5LIB path. (modify-phases gnu:%standard-phases (replace 'install install) + (add-after 'install 'wrap wrap) (replace 'check check) (replace 'build build) (replace 'configure configure)))