From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34362) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHaMT-00069N-7D for guix-patches@gnu.org; Wed, 22 Nov 2017 14:07:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eHaMQ-0004xb-Eo for guix-patches@gnu.org; Wed, 22 Nov 2017 14:07:05 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:44401) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eHaMQ-0004xK-AS for guix-patches@gnu.org; Wed, 22 Nov 2017 14:07:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eHaMQ-0006Kb-3E for guix-patches@gnu.org; Wed, 22 Nov 2017 14:07:02 -0500 Subject: [bug#29403] [PATCH] gnu: gcl: Update snapshot. Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34260) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHaLy-000617-Jz for guix-patches@gnu.org; Wed, 22 Nov 2017 14:06:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eHaLv-0004M9-RE for guix-patches@gnu.org; Wed, 22 Nov 2017 14:06:34 -0500 Received: from mout01.posteo.de ([185.67.36.141]:54134) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eHaLv-0004Jq-BF for guix-patches@gnu.org; Wed, 22 Nov 2017 14:06:31 -0500 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 2B7C820E78 for ; Wed, 22 Nov 2017 20:06:29 +0100 (CET) From: Kei Kebreau Date: Wed, 22 Nov 2017 14:06:19 -0500 Message-Id: <20171122190619.3505-1-kkebreau@posteo.net> 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: 29403@debbugs.gnu.org Cc: Kei Kebreau * gnu/packages/lisp.scm (gcl): Update to 2.6.12-1.5956140. [arguments]: Remove CFLAGS from make-flags; adjust pre-conf phase. [native-inputs]: Add which. --- gnu/packages/lisp.scm | 152 +++++++++++++++++++++++++++----------------------- 1 file changed, 81 insertions(+), 71 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index e5b8ad356..cbb6c0097 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -76,81 +76,91 @@ ,lisp)))) (define-public gcl - (package - (name "gcl") - (version "2.6.12") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/" name "/" name "-" version ".tar.gz")) - (sha256 - (base32 "1s4hs2qbjqmn9h88l4xvsifq5c3dlc5s74lyb61rdi5grhdlkf4f")))) - (build-system gnu-build-system) - (arguments - `(#:parallel-build? #f ; The build system seems not to be thread safe. - #:tests? #f ; There does not seem to be make check or anything similar. - #:configure-flags '("--enable-ansi") ; required for use by the maxima package - #:make-flags (list - "CFLAGS=-fgnu89-inline" ; removes inline function warnings - (string-append "GCC=" (assoc-ref %build-inputs "gcc") - "/bin/gcc")) - #:phases (modify-phases %standard-phases - (add-before 'configure 'pre-conf - (lambda _ - (substitute* - (append - '("pcl/impl/kcl/makefile.akcl" - "add-defs" - "unixport/makefile.dos" - "add-defs.bat" - "gcl-tk/makefile.prev" - "add-defs1") - (find-files "h" "\\.defs")) - (("SHELL=/bin/bash") - (string-append "SHELL=" (which "bash"))) - (("SHELL=/bin/sh") - (string-append "SHELL=" (which "sh")))) - (substitute* "h/linux.defs" - (("#CC") "CC") - (("-fwritable-strings") "") - (("-Werror") "")) - #t)) - (add-after 'install 'wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((gcl (assoc-ref outputs "out")) - (input-path (lambda (lib path) - (string-append - (assoc-ref inputs lib) path))) - (binaries '("binutils"))) - ;; GCC and the GNU binutils are necessary for GCL to be - ;; able to compile Lisp functions and programs (this is - ;; a standard feature in Common Lisp). While the - ;; the location of GCC is specified in the make-flags, - ;; the GNU binutils must be available in GCL's $PATH. - (wrap-program (string-append gcl "/bin/gcl") - `("PATH" prefix ,(map (lambda (binary) - (input-path binary "/bin")) - binaries)))) - #t)) - ;; drop strip phase to make maxima build, see - ;; https://www.ma.utexas.edu/pipermail/maxima/2008/009769.html - (delete 'strip)))) - (inputs - `(("gmp" ,gmp) - ("readline" ,readline))) - (native-inputs - `(("gcc" ,gcc-4.9) - ("m4" ,m4) - ("texinfo" ,texinfo) - ("texlive" ,texlive))) - (home-page "https://www.gnu.org/software/gcl/") - (synopsis "A Common Lisp implementation") - (description "GCL is an implementation of the Common Lisp language. It + (let ((commit "5956140b1083e2302a59d7ce2054b0b7c2cbb417") + (revision "1")) ;Guix package revision + (package + (name "gcl") + (version (string-append "2.6.12-" revision "." + (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/r/gcl.git") + (commit commit))) + (file-name (string-append "gcl-" version "-checkout")) + (sha256 + (base32 "0mwclf2879mh3d9xqkqhghf58lwy7srsnsq9x0f1cc6j302sy4hb")))) + (build-system gnu-build-system) + (arguments + `(#:parallel-build? #f ; The build system seems not to be thread safe. + #:tests? #f ; There does not seem to be make check or anything similar. + #:configure-flags '("--enable-ansi") ; required for use by the maxima package + #:make-flags (list + (string-append "GCC=" (assoc-ref %build-inputs "gcc") + "/bin/gcc")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'pre-conf + (lambda _ + (chdir "gcl") + (substitute* + (append + '("pcl/impl/kcl/makefile.akcl" + "add-defs" + "unixport/makefile.dos" + "add-defs.bat" + "gcl-tk/makefile.prev" + "add-defs1") + (find-files "h" "\\.defs")) + (("SHELL=/bin/bash") + (string-append "SHELL=" (which "bash"))) + (("SHELL=/bin/sh") + (string-append "SHELL=" (which "sh")))) + (substitute* "h/linux.defs" + (("#CC") "CC") + (("-fwritable-strings") "") + (("-Werror") "")) + #t)) + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((gcl (assoc-ref outputs "out")) + (input-path (lambda (lib path) + (string-append + (assoc-ref inputs lib) path))) + (binaries '("binutils"))) + ;; GCC and the GNU binutils are necessary for GCL to be + ;; able to compile Lisp functions and programs (this is + ;; a standard feature in Common Lisp). While the + ;; the location of GCC is specified in the make-flags, + ;; the GNU binutils must be available in GCL's $PATH. + (wrap-program (string-append gcl "/bin/gcl") + `("PATH" prefix ,(map (lambda (binary) + (input-path binary "/bin")) + binaries)))) + #t)) + ;; drop strip phase to make maxima build, see + ;; https://www.ma.utexas.edu/pipermail/maxima/2008/009769.html + (delete 'strip)))) + (inputs + `(("gmp" ,gmp) + ("readline" ,readline))) + (native-inputs + `(("gcc" ,gcc-4.9) + ("m4" ,m4) + ("texinfo" ,texinfo) + ("texlive" ,texlive) + ;; The which binary is needed by lsp/gcl_directory.lsp to properly + ;; define the Lisp procedure named "which". + ("which" ,which))) + (home-page "https://www.gnu.org/software/gcl/") + (synopsis "A Common Lisp implementation") + (description "GCL is an implementation of the Common Lisp language. It features the ability to compile to native object code and to load native object code modules directly into its lisp core. It also features a stratified garbage collection strategy, a source-level debugger and a built-in interface to the Tk widget system.") - (license license:lgpl2.0+))) + (license license:lgpl2.0+)))) (define-public ecl (package -- 2.15.0