guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Attempt at packaging guile-emacs (needs help)


From: Christopher Allan Webber
Subject: Re: [PATCH] Attempt at packaging guile-emacs (needs help)
Date: Sun, 10 May 2015 21:29:33 -0500

Thanks Mark!  I made most of these adjustments...

Mark H Weaver writes:

>> Unfortunately, guilemacs-guile does not complete building.  It compiles,
>> but then fails "make check":
>>   http://pamrel.lu/2aa8f/
>
> These are known issues.  Perhaps we should just disable tests for now.

BT Templeton fixed some issues, but I'm still hitting failures with the
popen tests.  I removed the "check" build step for now, at your suggestion.

>> diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
>> index 751002f..33d5773 100644
>> --- a/gnu/packages/guile.scm
>> +++ b/gnu/packages/guile.scm
>> @@ -41,7 +41,8 @@
>>    #:use-module (guix build-system gnu)
>>    #:use-module (guix build-system trivial)
>>    #:use-module (guix utils)
>> -  #:use-module (ice-9 match))
>> +  #:use-module (ice-9 match)
>> +  #:export (guile-2.0))
>
> No need for this, because 'define-public' is used to define guile-2.0.

Okay... it didn't seem to work without it but I'll look again tomorrow.

I incorporated the other feedback!

Unfortunately, it still doesn't build:

Loading 
/tmp/nix-build-guile-emacs-20150209.8f2e203.drv-3/source/lisp/progmodes/prog-mode.el
 (source)...
Loading 
/tmp/nix-build-guile-emacs-20150209.8f2e203.drv-3/source/lisp/emacs-lisp/lisp-mode.el
 (source)...
Scheme error: unbound-variable, (#<scheme module-lookup> #<scheme Unbound 
variable: ~S> (regexp-opt) #<scheme #f>)
Makefile:91: recipe for target '../../source/leim/../lisp/leim/quail/TONEPY.el' 
failed
make[2]: *** [../../source/leim/../lisp/leim/quail/TONEPY.el] Error 255
make[2]: Leaving directory 
'/tmp/nix-build-guile-emacs-20150209.8f2e203.drv-3/build/leim'
Makefile:603: recipe for target '../../source/src/../lisp/leim/leim-list.el' 
failed
make[1]: *** [../../source/src/../lisp/leim/leim-list.el] Error 2
make[1]: *** Waiting for unfinished jobs....

I don't really know enough to know what's going on and how to fix it.
Maybe a more seasoned Guile hacker could look....?

>From a9ba656c3030da8252bf8b2c3090e7489fc7551e Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber <address@hidden>
Date: Sun, 10 May 2015 09:29:54 -0500
Subject: [PATCH] guilemacs attempt

 - Doesn't build emacs yet
 - Skipping make check on guile-for-guile-emacs
---
 gnu-system.am                |  1 +
 gnu/packages/guile-emacs.scm | 93 ++++++++++++++++++++++++++++++++++++++++++++
 gnu/packages/guile.scm       |  3 +-
 3 files changed, 96 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/guile-emacs.scm

diff --git a/gnu-system.am b/gnu-system.am
index 95378a7..d8117b8 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -143,6 +143,7 @@ GNU_SYSTEM_MODULES =                                \
   gnu/packages/gstreamer.scm                   \
   gnu/packages/gtk.scm                         \
   gnu/packages/guile.scm                       \
+  gnu/packages/guile-emacs.scm                 \
   gnu/packages/guile-wm.scm                    \
   gnu/packages/gv.scm                          \
   gnu/packages/gxmessage.scm                   \
diff --git a/gnu/packages/guile-emacs.scm b/gnu/packages/guile-emacs.scm
new file mode 100644
index 0000000..8bb6fa1
--- /dev/null
+++ b/gnu/packages/guile-emacs.scm
@@ -0,0 +1,93 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Christopher Allan Webber <address@hidden>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages guile-emacs)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build utils)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages guile)
+  #:use-module (gnu packages emacs)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages texinfo))
+
+(define-public guile-for-guile-emacs
+  (package (inherit guile-2.0)
+    (name "guile-for-guile-emacs")
+    (version "20150510.d8d9a8d")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "git://git.hcoop.net/git/bpt/guile.git")
+                    (commit "d8d9a8da05ec876acba81a559798eb5eeceb5a17")))
+              (sha256
+               (base32
+                "00sprsshy16y8pxjy126hr2adqcvvzzz96hjyjwgg8swva1qh6b0"))))
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+                    (lambda _
+                      (zero? (system* "sh" "autogen.sh"))))
+         (add-before 'autogen 'patch-/bin/sh
+           (lambda _
+             (substitute* "build-aux/git-version-gen"
+               (("#!/bin/sh") (string-append "#!" (which "sh"))))
+             #t))
+         ;; Tests aren't passing for now.  Obviously we should re-enable this!
+         (delete 'check))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("flex" ,flex)
+       ("texinfo" ,texinfo)
+       ,@(package-native-inputs guile-2.0)))
+    (inputs
+     `(("gettext" ,gnu-gettext)
+       ,@(package-inputs guile-2.0)))))
+
+(define-public guile-emacs
+  (package (inherit emacs)
+    (name "guile-emacs")
+    (version "20150209.8f2e203")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "git://git.hcoop.net/git/bpt/emacs.git")
+                    (commit "8f2e20304cbfdc046f4e3d3fca7b844f07e65076")))
+              (sha256
+               (base32
+                "0f0i7ax0wi5q2w2kvr4bdzkcbzvcqvnbni0n8vdsrxc7ayl8zdi3"))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ,@(package-native-inputs emacs)))
+    (inputs
+     `(("guile" ,guile-for-guile-emacs)
+       ,@(package-inputs emacs)))
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+                    (lambda _
+                      (zero? (system* "sh" "autogen.sh")))))))))
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 751002f..33d5773 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -41,7 +41,8 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix utils)
-  #:use-module (ice-9 match))
+  #:use-module (ice-9 match)
+  #:export (guile-2.0))
 
 ;;; Commentary:
 ;;;
-- 
2.1.4


reply via email to

[Prev in Thread] Current Thread [Next in Thread]