[Top][All Lists]

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

Re: How to install prerelease package versions (particularly Emacs)

From: Chris Marusich
Subject: Re: How to install prerelease package versions (particularly Emacs)
Date: Thu, 12 Apr 2018 22:27:34 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)

Hi Pierre,

Pierre Neidhardt <address@hidden> writes:

> Chris Marusich <address@hidden> writes:
>> Can you share the package definition?
> Let's start from the most straight-forward:
> (define-public emacs-dev
>   (package
>    (inherit emacs)
>    (name "emacs-dev")
>    (version "26.0.91")
>    (source
>      (local-file "/home/ambrevar/projects/emacs-build" #:recursive? #t))))

I took this definition and adapted it as shown in the attached file.  I
then did the following things:

* Save the file at /tmp/emacs.scm.

* Clone Emacs' Git repository into /tmp/emacs at commit

* Get an environment with the necessary dependencies, and run

    guix environment emacs

  You could try with --pure to see if the emacs inputs are actually
  enough to bootstrap Emacs' Git repository.  I doubt they are.  You can
  experiment with adding dependencies by using the --ad-hoc option.
  Once you figure out what dependencies are required to run,
  you can add them to your custom package definition if you want
  (although they won't be required for building Emacs once you've built
  the "configure" script).

  I happen to have various tools, such as Autoconf, installed in my
  profile (mainly so I can browse the manuals locally).  I'm pretty sure
  that's why the next step succeeded for me.

* Run to create the "configure" script:


* Now that the "configure" script has been created, build Emacs:

    guix build -f /tmp/emacs.scm

For me, the build proceeded but then failed during the "check" phase:

--8<---------------cut here---------------start------------->8---
Files examined: 195
Ran 2767 tests, 2619 results as expected, 24 unexpected, 124 skipped
7 files contained unexpected results:
make[2]: *** [Makefile:280: check-doit] Error 1
make[2]: Leaving directory '/tmp/guix-build-emacs-dev-26.0.91.drv-0/build/test'
make[1]: *** [Makefile:255: check] Error 2
make[1]: Leaving directory '/tmp/guix-build-emacs-dev-26.0.91.drv-0/build/test'
make: *** [Makefile:945: check] Error 2
phase `check' failed after 104.0 seconds
builder for `/gnu/store/dshw12bj2486lcfv65g04g9rznxgfrwp-emacs-dev-26.0.91.drv' 
failed with exit code 1
@ build-failed 
/gnu/store/dshw12bj2486lcfv65g04g9rznxgfrwp-emacs-dev-26.0.91.drv - 1 builder 
for `/gnu/store/dshw12bj2486lcfv65g04g9rznxgfrwp-emacs-dev-26.0.91.drv' failed 
with exit code 1
guix build: error: build failed: build of 
`/gnu/store/dshw12bj2486lcfv65g04g9rznxgfrwp-emacs-dev-26.0.91.drv' failed
--8<---------------cut here---------------end--------------->8---

I don't know much about the test failures, but this is a success as far
as I'm concerned: If you get this far, it means the local-file
declaration in your package definition is working as intended.

Hope that helps!


Attachment: emacs.scm
Description: Binary data

Attachment: signature.asc
Description: PGP signature

reply via email to

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