* not tarred source file
@ 2016-05-15 20:25 Catonano
2016-05-15 20:57 ` Ludovic Courtès
0 siblings, 1 reply; 6+ messages in thread
From: Catonano @ 2016-05-15 20:25 UTC (permalink / raw)
To: help-guix
[-- Attachment #1: Type: text/plain, Size: 329 bytes --]
Hello
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 ?
[-- Attachment #2: Type: text/html, Size: 406 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: not tarred source file
2016-05-15 20:25 not tarred source file Catonano
@ 2016-05-15 20:57 ` Ludovic Courtès
2016-05-15 22:45 ` Ben Woodcroft
2016-05-16 20:04 ` Alex Kost
0 siblings, 2 replies; 6+ messages in thread
From: Ludovic Courtès @ 2016-05-15 20:57 UTC (permalink / raw)
To: Catonano; +Cc: help-guix
Hi!
Catonano <catonano@gmail.com> 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.
HTH!
Ludo’.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: not tarred source file
2016-05-15 20:57 ` Ludovic Courtès
@ 2016-05-15 22:45 ` Ben Woodcroft
2016-05-16 11:02 ` Catonano
2016-05-16 20:04 ` Alex Kost
1 sibling, 1 reply; 6+ messages in thread
From: Ben Woodcroft @ 2016-05-15 22:45 UTC (permalink / raw)
To: Ludovic Courtès, Catonano; +Cc: help-guix
Hi there,
On 16/05/16 06:57, Ludovic Courtès wrote:
> Hi!
>
> Catonano <catonano@gmail.com> 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.
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.
ben
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: not tarred source file
2016-05-15 22:45 ` Ben Woodcroft
@ 2016-05-16 11:02 ` Catonano
0 siblings, 0 replies; 6+ messages in thread
From: Catonano @ 2016-05-16 11:02 UTC (permalink / raw)
To: Ben Woodcroft; +Cc: help-guix
[-- Attachment #1: Type: text/plain, Size: 2829 bytes --]
Ben and Ludovic,
thank you
2016-05-16 0:45 GMT+02:00 Ben Woodcroft <b.woodcroft@uq.edu.au>:
> Hi there,
>
> On 16/05/16 06:57, Ludovic Courtès wrote:
>
>> Hi!
>>
>> Catonano <catonano@gmail.com> 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.
[-- Attachment #2: Type: text/html, Size: 4199 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: not tarred source file
2016-05-15 20:57 ` Ludovic Courtès
2016-05-15 22:45 ` Ben Woodcroft
@ 2016-05-16 20:04 ` Alex Kost
2016-05-16 20:52 ` Ludovic Courtès
1 sibling, 1 reply; 6+ messages in thread
From: Alex Kost @ 2016-05-16 20:04 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: help-guix
Ludovic Courtès (2016-05-15 23:57 +0300) wrote:
> Catonano <catonano@gmail.com> 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:
Specifically for this case Federico added 'uncompressed-file-fetch'
method. Sorry, I forgot to answer at the time, so I answer here. You
said it's a rare use case¹, but it is actually not. Many elpa packages
are just single elisp files, so such method can be really useful. I'm
going to switch our "trivial" emacs packages (paredit, let-alist and
magit-svn) to "emacs-build-system" using this method, if no one will do
it before me.
¹ http://lists.gnu.org/archive/html/guix-devel/2016-01/msg00378.html
> 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.
--
Alex
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: not tarred source file
2016-05-16 20:04 ` Alex Kost
@ 2016-05-16 20:52 ` Ludovic Courtès
0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2016-05-16 20:52 UTC (permalink / raw)
To: Alex Kost; +Cc: help-guix
Alex Kost <alezost@gmail.com> skribis:
> Ludovic Courtès (2016-05-15 23:57 +0300) wrote:
>
>> Catonano <catonano@gmail.com> 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:
>
> Specifically for this case Federico added 'uncompressed-file-fetch'
> method.
Indeed, I had forgotten about that one.
> Sorry, I forgot to answer at the time, so I answer here. You said
> it's a rare use case¹, but it is actually not. Many elpa packages are
> just single elisp files, so such method can be really useful. I'm
> going to switch our "trivial" emacs packages (paredit, let-alist and
> magit-svn) to "emacs-build-system" using this method, if no one will
> do it before me.
Sounds reasonable!
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-05-16 20:52 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-15 20:25 not tarred source file Catonano
2016-05-15 20:57 ` Ludovic Courtès
2016-05-15 22:45 ` Ben Woodcroft
2016-05-16 11:02 ` Catonano
2016-05-16 20:04 ` Alex Kost
2016-05-16 20:52 ` Ludovic Courtès
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.