help-guix
[Top][All Lists]
Advanced

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

Re: not tarred source file


From: Catonano
Subject: Re: not tarred source file
Date: Mon, 16 May 2016 13:02:30 +0200

Ben and Ludovic,

thank you

2016-05-16 0:45 GMT+02:00 Ben Woodcroft <address@hidden>:
Hi there,

On 16/05/16 06:57, Ludovic Courtès wrote:
Hi!

Catonano <address@hidden> skribis:

after having successfully packaged (locally) the Zenburn theme and
Smartparens, I am preparing the package for clojure-mode

But for the first time it happens that the downloaded source code is not
tarred so tar fails and so does the unpack phase.

How do I instruct the origin object not to attempt untarring my source ?
It’s OK if the ‘origin’ denotes a file that is not a tarball.

However, the build procedure will have to pay attention for that.  For
instance, the default sequence of phases of ‘gnu-build-system’ includes
an ‘unpack’ phase, which is inappropriate here:

   https://www.gnu.org/software/guix/manual/html_node/Build-Systems.html

There are a couple of examples, e.g., paredit in emacs.scm.  Most of
them use ‘trivial-build-system’, which requires explicitly writing the
build/install operations.

Ludo, in fact, for my Zenburn theme package, I copied the build code from the paredit package.

But then I noticed that other Emacs modules used the Emacs build system instead of the trivial one.
 
If it is a single file then I believe it is as simple as deleting the unpack phase e.g. fasttree in bioinformatics.scm, I had thought it was still good practice not to use the trivial build system where possible as it omits some useful defaults.

That's what I thought too. If there's a build system made on purpose for Emacs modules, then that's the right module for me.

Now, Ben, I copied from the fasttree package for my clojure mode and this is the relevant bit


  (build-system emacs-build-system)
  (inputs `(("emacs" ,emacs-no-x)))
  (arguments
   `(#:phases
     (modify-phases %standard-phases
                    (delete 'unpack))))


Now the build succeeds but 2 weird thing happen:

  1. in .guix-profile/share/emacs/site-lisp/guix.d/ there's a clojure mode autoloads file but there's NO clojure-mode file !

    So I would say that the build wasn't so successful !



  2. During the build lots of packages were downloaded, including Emacs.

    But I explicitly indicated emacs-no-x in the recipe.

    This didn't happen with Smartparens (that also used the Emacs build system).

    It's as if modifying the standard phases messed up the build process

Now, I could easily welcome Ludo's suggestion to use the trivial build system as I did with the Zenburn theme

But I'd like to understand.

If there's anyone wiling to inspect my clojure-mode recipe, I can paste it on pastebin or somewhere else.


reply via email to

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