[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
93678bffe6427b9d83dae032c56a4e480539a4a7.
* Get an environment with the necessary dependencies, and run autogen.sh:
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 autogen.sh,
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 autogen.sh to create the "configure" script:
./autogen.sh
* 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---
SUMMARY OF TEST RESULTS
-----------------------
Files examined: 195
Ran 2767 tests, 2619 results as expected, 24 unexpected, 124 skipped
7 files contained unexpected results:
src/process-tests.log
lisp/progmodes/xref-tests.log
lisp/progmodes/flymake-tests.log
lisp/files-tests.log
lisp/eshell/em-ls-tests.log
lisp/calendar/todo-mode-tests.log
lisp/net/tramp-tests.log
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!
--
Chris
emacs.scm
Description: Binary data
signature.asc
Description: PGP signature
Re: How to install prerelease package versions (particularly Emacs), Pierre Neidhardt, 2018/04/11