From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49776) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1erADk-0005qf-7Y for guix-patches@gnu.org; Wed, 28 Feb 2018 17:29:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1erADh-0004a4-8f for guix-patches@gnu.org; Wed, 28 Feb 2018 17:29:08 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:58350) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1erADg-0004Z5-NJ for guix-patches@gnu.org; Wed, 28 Feb 2018 17:29:05 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1erADe-0008KU-Fs for guix-patches@gnu.org; Wed, 28 Feb 2018 17:29:02 -0500 Subject: [bug#30657] [PATCH 2/4] gexp: Add 'file-like?'. Resent-Message-ID: From: =?UTF-8?Q?Cl=C3=A9ment?= Lassieur Date: Wed, 28 Feb 2018 23:28:19 +0100 Message-Id: <20180228222821.6195-2-clement@lassieur.org> In-Reply-To: <20180228222821.6195-1-clement@lassieur.org> References: <20180228222821.6195-1-clement@lassieur.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 30657@debbugs.gnu.org * guix/gexp.scm (file-like?): New exported procedure. --- guix/gexp.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/guix/gexp.scm b/guix/gexp.scm index f005c4d29..9a30579a6 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2018 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -70,6 +71,8 @@ file-append-base file-append-suffix + file-like? + load-path-expression gexp-modules @@ -437,6 +440,14 @@ SUFFIX." (base (expand base lowered output))) (string-append base (string-concatenate suffix))))))) +(define (file-like? object) + (or (local-file? object) + (plain-file? object) + (computed-file? object) + (program-file? object) + (scheme-file? object) + (file-append? object))) + ;;; ;;; Inputs & outputs. -- 2.16.2