From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: [PATCH 4/7] gnu: Add llvm-for-extempore. Date: Fri, 16 Sep 2016 15:47:09 +0200 Message-ID: <87zin8c5ya.fsf@elephly.net> References: <20160914093812.28422-1-rekado@elephly.net> <20160914093812.28422-5-rekado@elephly.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54424) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bktUI-0001qq-Kh for guix-devel@gnu.org; Fri, 16 Sep 2016 09:47:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bktUE-0006Cq-CT for guix-devel@gnu.org; Fri, 16 Sep 2016 09:47:29 -0400 Received: from sender163-mail.zoho.com ([74.201.84.163]:21355) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bktUE-00069F-4D for guix-devel@gnu.org; Fri, 16 Sep 2016 09:47:26 -0400 In-reply-to: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: "Thompson, David" Cc: guix-devel Thompson, David writes: > On Wed, Sep 14, 2016 at 5:38 AM, Ricardo Wurmus wrote: >> * gnu/packages/llvm.scm (llvm-for-extempore): New variable. >> --- >> gnu/packages/llvm.scm | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm >> index a9eba79..b55a200 100644 >> --- a/gnu/packages/llvm.scm >> +++ b/gnu/packages/llvm.scm >> @@ -3,6 +3,7 @@ >> ;;; Copyright © 2015 Mark H Weaver >> ;;; Copyright © 2015 Ludovic Courtès >> ;;; Copyright © 2016 Dennis Mungai >> +;;; Copyright © 2016 Ricardo Wurmus >> ;;; >> ;;; This file is part of GNU Guix. >> ;;; >> @@ -267,3 +268,10 @@ code analysis tools.") >> (define-public clang-3.5 >> (clang-from-llvm llvm-3.5 clang-runtime-3.5 >> "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg")) >> + >> +(define-public llvm-for-extempore >> + (package (inherit llvm-3.7) >> + (source >> + (origin >> + (inherit (package-source llvm-3.7)) >> + (patches (list (search-patch "llvm-for-extempore.patch"))))))) > > This could use a comment explaining the rationale. Also, you forgot > to include the patch file in this commit. Oh, I did indeed forget it. I’ve added it and put a long comment to the top, which I’ll quote here: ~~~~~~~~~~~~~~ This patch to LLVM is required by the developers of the Extempore language. The following explanation was posted to the extemporelang@googlegroups.com mailing list: "There is an assumption in the parser that all definitions occur within the same compilation unit - i.e. the parser has local state about what has been parsed in this unit of work. Extempore obviously does lots of little units rather than one big unit and this causes problems for named types that were defined in another unit - which they always are. The patch simply checks the current module to see if the type has been previously defined, and intervenes appropriately if it has." Message-ID: ~~~~~~~~~~~~~~ Thanks for the review! ~~ Ricardo