Hi again, A month or so I asked:
> What would it take to make skribilo use guile-2.2 instead of guile-2.0? So I've tried a bit more to do this. If I grab the skribilo-0.9.3 tarball from http://download.savannah.nongnu.org/releases/skribilo/ unpack it, and run ./configure, then I see complaints, apparently since I only have guile-2.2 installed: > configure: error: in `/home/george/Computing/Software/skribilo-0.9.3': > configure: error: searching for guile development files for versions > 2.0 1.8, but previously found /home/george/.guix-profile/bin/guile > version 2.2 See `config.log' for more details > Compilation exited abnormally with code 1 at Mon Feb 26 15:52:53 This happens presumably because of these lines in .../skribilo-0.9.3/aclocal.m4: > AC_DEFUN([GUILE_PKG], > [PKG_PROG_PKG_CONFIG > _guile_versions_to_search="m4_default([$1], [2.0 1.8])" > [...] Now, my understanding of the gnu build-system is a bit dim. E.g. I just tried adding 2.2 to the bracketed list -- so that the above snippet reads > AC_DEFUN([GUILE_PKG], > [PKG_PROG_PKG_CONFIG > _guile_versions_to_search="m4_default([$1], [2.2 2.0 1.8])" > [...] But now when I try to rebuild .../skribilo-0.9.3/configure by running autoconf on .../skribilo-0.9.3/configure.ac I get errors that I don't really grok: > sh: build-aux/git-version-gen: No such file or directory > configure.ac:13: error: AC_INIT should be called with package and version > arguments > aclocal.m4:958: AM_INIT_AUTOMAKE is expanded from... > configure.ac:13: the top level > autom4te: /gnu/store/k631bfg80bdnf0ss2slvnvqz87rgc6lv-m4-1.4.18/bin/m4 failed > with exit status: 1 (maybe my version of m4 is not the same as that used to build the original ./configure ? I'm pretty sure that at some point I convinced myself that this error is unrelated to my edit, though I confess that I didn't reconfirm that claim while composing this missive...) I'm sure I'm just being a bone-head; maybe someone has advice as to how to proceed? -------------------------------------------------------------------------------- Well, maybe the answer is that I shouldn't *need* to build skribilo with guile-2.2. But here is why I think I need to do so: if I instead install skribilo via guix package -i skribilo and if I call the form (use-modules (skribilo package base)) in a guile-2.2 repl (I did it just now in geiser...), I get errors as follows: -------------------------------------------------------------------------------- scheme@(guile-user)> (use-modules (skribilo package base)) ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /home/george/.guix-profile/share/guile/site/2.0/skribilo/package/base.scm ;;; WARNING: compilation of /home/george/.guix-profile/share/guile/site/2.0/skribilo/package/base.scm failed: ;;; Syntax error: ;;; /home/george/.guix-profile/share/guile/site/2.0/skribilo/package/base.scm:74:0: syntax-parameterize: invalid syntax parameter in subform &invocation-location of (syntax-parameterize ((&invocation-location (identifier-syntax loc))) (new document (markup (quote document)) (ident (or ident (ast->string title) (symbol->string (gensym "document")))) (class class) (loc &invocation-location) (required-options (quote (#:title #:author #:ending))) (options (the-options opts #:ident #:class #:env)) (body (the-body opts)) (env (append env (list (list (quote chapter-counter) 0) (list (quote chapter-env) (quote ())) (list (quote section-counter) 0) (list (quote section-env) (quote ())) (list (quote footnote-counter) 0) (list (quote footnote-env) (quote ())) (list (quote figure-counter) 0) (list (quote figure-env) (quote ()))))))) -------------------------------------------------------------------------------- The "subform" &invocation-location seems to be defined in ...skribilo/lib.scm in the define-markup macro. This gives me a bit of pause; e.g. I note the comment in .../skribilo/lib.scm line 112 or so: ;; On Guile 2.0, `define-markup' generates a macro for the markup, such ;; that the macro captures its invocation source location using ;; `current-source-location'. That seems to be related to the matter at hand, but right now, my understanding of this is pretty vague. In particular, I don't know enough to have an opinion why this might (??) behave differently in guile-2.0 than in guile-2.2. Thanks for any comments or tips! Best, -george -- o---o George McNinch o---o http://math.tufts.edu/faculty/gmcninch _______________________________________________ Skribilo-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/skribilo-users
