unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Guix pull chokes on uglify-js
@ 2019-11-28 19:58 Tobias Geerinckx-Rice
  2019-11-28 20:47 ` Pierre Neidhardt
  0 siblings, 1 reply; 14+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-11-28 19:58 UTC (permalink / raw)
  To: Guix Devel, Pierre Neidhardt

[-- Attachment #1: Type: text/plain, Size: 480 bytes --]

Pierre,

‘guix pull’ is borken:

  (repl-version 0 0)Generating package cache for 
  '/gnu/store/n9rwj3jlrf262jgj0ynwf5ihf7kdxvi7-profile'...(exception 
  misc-error (value #f) (value "~A ~S ~S ~S") (value ("No variable 
  named" uglify-js in #<interface (gnu packages lisp) 
  7ffff0d17be0>)) (value #f))

mbakke noted that commit abf43a67d5929bf279edce3e790ef1348dda32a5 
might be to blame.

Is that possible?  Could you check?  O:-)

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Guix pull chokes on uglify-js
  2019-11-28 19:58 Guix pull chokes on uglify-js Tobias Geerinckx-Rice
@ 2019-11-28 20:47 ` Pierre Neidhardt
  2019-11-29 14:42   ` Pierre Neidhardt
  0 siblings, 1 reply; 14+ messages in thread
From: Pierre Neidhardt @ 2019-11-28 20:47 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice, Guix Devel, Ricardo Wurmus

[-- Attachment #1: Type: text/plain, Size: 964 bytes --]

Sorry about that, guix didn't complain at compile time and every looked
fine, but apparently I missed something :(

On closer look, I think I found the culprit: we have a minify build
system and in guix/build-system/minify.scm we define the
default-uglify-js procedure which retrieves uglify-js from the lisp
module.

I assume the following would do the trick:

--8<---------------cut here---------------start------------->8---
(define (default-uglify-js)
  "Return the default package to minify JavaScript source files."
  ;; Lazily resolve the binding to avoid a circular dependency.
  (let ((js-mod (resolve-interface '(gnu packages javascript))))
    (module-ref js-mod 'uglify-js)))
--8<---------------cut here---------------end--------------->8---

Does that sound reasonable?
Ricardo?

By the way, is there a convenient way to catch this kind of errors
without pushing to master first?

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Guix pull chokes on uglify-js
  2019-11-28 20:47 ` Pierre Neidhardt
@ 2019-11-29 14:42   ` Pierre Neidhardt
  2019-11-29 15:25     ` zimoun
  0 siblings, 1 reply; 14+ messages in thread
From: Pierre Neidhardt @ 2019-11-29 14:42 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice, Guix Devel, Ricardo Wurmus

[-- Attachment #1: Type: text/plain, Size: 512 bytes --]

> By the way, is there a convenient way to catch this kind of errors
> without pushing to master first?

To answer my own question:

--8<---------------cut here---------------start------------->8---
guix pull --url=$HOME/projects/guix --dry-run
--8<---------------cut here---------------end--------------->8---

does the trick.  This is practical and important enough, I suggest we
add it to the manual in `(guix) 14.6 Submitting Patches'.

Thoughts?

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Guix pull chokes on uglify-js
  2019-11-29 14:42   ` Pierre Neidhardt
@ 2019-11-29 15:25     ` zimoun
  2019-12-02  9:35       ` Pierre Neidhardt
  0 siblings, 1 reply; 14+ messages in thread
From: zimoun @ 2019-11-29 15:25 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: Guix Devel

Hi Pierre,

On Fri, 29 Nov 2019 at 15:58, Pierre Neidhardt <mail@ambrevar.xyz> wrote:
>
> > By the way, is there a convenient way to catch this kind of errors
> > without pushing to master first?
>
> To answer my own question:
>
> --8<---------------cut here---------------start------------->8---
> guix pull --url=$HOME/projects/guix --dry-run
> --8<---------------cut here---------------end--------------->8---
>
> does the trick.  This is practical and important enough, I suggest we
> add it to the manual in `(guix) 14.6 Submitting Patches'.
>
> Thoughts?

I agree, because it is not the first time that "guix pull" breaks. For
example, this commit 41ca406fa54e69f61c55b11ffe5cf465192a907c reverted
by this one 74e7465c9b3758c1509a3e0dbe575e2014e20f0a.

Document in the manual and maybe add a test in the test-suite (maybe
already exist?)

All the best,
simon

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Guix pull chokes on uglify-js
  2019-11-29 15:25     ` zimoun
@ 2019-12-02  9:35       ` Pierre Neidhardt
  2019-12-05 12:50         ` Pierre Neidhardt
  0 siblings, 1 reply; 14+ messages in thread
From: Pierre Neidhardt @ 2019-12-02  9:35 UTC (permalink / raw)
  To: zimoun; +Cc: Guix Devel

[-- Attachment #1: Type: text/plain, Size: 89 bytes --]

I've sent patch 38455 to document this.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Guix pull chokes on uglify-js
  2019-12-02  9:35       ` Pierre Neidhardt
@ 2019-12-05 12:50         ` Pierre Neidhardt
  2019-12-05 14:46           ` Tobias Geerinckx-Rice
  2019-12-05 14:55           ` Tobias Geerinckx-Rice
  0 siblings, 2 replies; 14+ messages in thread
From: Pierre Neidhardt @ 2019-12-05 12:50 UTC (permalink / raw)
  To: zimoun; +Cc: Guix Devel

[-- Attachment #1: Type: text/plain, Size: 286 bytes --]

I've just pushed
ac1ee30f4f7f9d0ae2a655676b0e8b9eb90a35dd to move Lisp libraries to
lisp-xyz again, this time fixing the pull issue with the minify build system.

Let me know if there is anything else that bot broken in the process.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Guix pull chokes on uglify-js
  2019-12-05 12:50         ` Pierre Neidhardt
@ 2019-12-05 14:46           ` Tobias Geerinckx-Rice
  2019-12-05 14:54             ` Pierre Neidhardt
  2019-12-05 14:55           ` Tobias Geerinckx-Rice
  1 sibling, 1 reply; 14+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-12-05 14:46 UTC (permalink / raw)
  To: Pierre Neidhardt, Guix Devel

[-- Attachment #1: Type: text/plain, Size: 1426 bytes --]

Pierre,

Pierre Neidhardt 写道:
> I've just pushed
> ac1ee30f4f7f9d0ae2a655676b0e8b9eb90a35dd to move Lisp libraries 
> to
> lisp-xyz again, this time fixing the pull issue with the minify 
> build system.
>
> Let me know if there is anything else that bot broken in the 
> process.

Looks like it:

$ guix pull
Updating channel 'guix' from Git repository at 
'https://git.savannah.gnu.org/git/guix.git'...
Building from this channel:
  guix      https://git.savannah.gnu.org/git/guix.git   73bd8ab
Computing Guix derivation for 'x86_64-linux'... |
The following derivation will be built:
   /gnu/store/9byic43nh7yzi5hxscmy9q2lcagchnn5-profile.drv
The following profile hook will be built:
   /gnu/store/kr7099ckaisng27dbpxb6jx55jdlk874-guix-package-cache.drv
building package cache...
/builder for 
`/gnu/store/kr7099ckaisng27dbpxb6jx55jdlk874-guix-package-cache.drv' 
failed to produce output path 
`/gnu/store/3igvnig0hd6b7mdm6q0dzdpja2pyvasc-guix-package-cache'
build of 
/gnu/store/kr7099ckaisng27dbpxb6jx55jdlk874-guix-package-cache.drv 
failed
View build log at 
'/var/log/guix/drvs/kr/7099ckaisng27dbpxb6jx55jdlk874-guix-package-cache.drv.bz2'.
cannot build derivation 
`/gnu/store/9byic43nh7yzi5hxscmy9q2lcagchnn5-profile.drv': 1 
dependencies couldn't be built
guix pull: error: build of 
`/gnu/store/9byic43nh7yzi5hxscmy9q2lcagchnn5-profile.drv' failed

Sorry!

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Guix pull chokes on uglify-js
  2019-12-05 14:46           ` Tobias Geerinckx-Rice
@ 2019-12-05 14:54             ` Pierre Neidhardt
  0 siblings, 0 replies; 14+ messages in thread
From: Pierre Neidhardt @ 2019-12-05 14:54 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice, Guix Devel

[-- Attachment #1: Type: text/plain, Size: 606 bytes --]

Duh! :(
So there is another issue, I'll fix it.

Regarding the `guix pull` discussion: it seems that `--dry-run` does not
build the package cache (beside many other things) and thus it does not
catch many errors.

So the trick of running

--8<---------------cut here---------------start------------->8---
  guix pull --url=... --dry-run
--8<---------------cut here---------------end--------------->8---

does *not* work :(

Shouldn't we change --dry-run so that it does *everything* except
updating the symlink of the guix checkout profile?

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Guix pull chokes on uglify-js
  2019-12-05 12:50         ` Pierre Neidhardt
  2019-12-05 14:46           ` Tobias Geerinckx-Rice
@ 2019-12-05 14:55           ` Tobias Geerinckx-Rice
  2019-12-05 15:03             ` Pierre Neidhardt
  1 sibling, 1 reply; 14+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-12-05 14:55 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: zimoun, Guix Devel, Ricardo Wurmus

[-- Attachment #1: Type: text/plain, Size: 363 bytes --]

Pierre Neidhardt 写道:
> Let me know if there is anything else that bot broken in the 
> process.

Adding your local repository to ~/.guix/config/channels.scm and 
running ‘guix pull’ after committing (and before pushing) should 
reproduce the downstream experience quite accurately, although I 
haven't tried it myself.

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Guix pull chokes on uglify-js
  2019-12-05 14:55           ` Tobias Geerinckx-Rice
@ 2019-12-05 15:03             ` Pierre Neidhardt
  2019-12-05 15:12               ` Marius Bakke
  0 siblings, 1 reply; 14+ messages in thread
From: Pierre Neidhardt @ 2019-12-05 15:03 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: Guix Devel

[-- Attachment #1: Type: text/plain, Size: 876 bytes --]

Tobias Geerinckx-Rice <me@tobias.gr> writes:

> Pierre Neidhardt 写道:
>> Let me know if there is anything else that bot broken in the 
>> process.
>
> Adding your local repository to ~/.guix/config/channels.scm and 
> running ‘guix pull’ after committing (and before pushing) should 
> reproduce the downstream experience quite accurately, although I 
> haven't tried it myself.

Yes, it also works with `guix pull --url=...`, but I would like to avoid
touch my user guix checkout profile.

Maybe this would be a viable alternative then:

--8<---------------cut here---------------start------------->8---
guix pull --url=... && guix package -p ~/.config/guix/current --roll-back
--8<---------------cut here---------------end--------------->8---

Not atomic, but good enough I suppose.

Thoughts?

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Guix pull chokes on uglify-js
  2019-12-05 15:03             ` Pierre Neidhardt
@ 2019-12-05 15:12               ` Marius Bakke
  2019-12-05 15:19                 ` Pierre Neidhardt
  0 siblings, 1 reply; 14+ messages in thread
From: Marius Bakke @ 2019-12-05 15:12 UTC (permalink / raw)
  To: Pierre Neidhardt, Tobias Geerinckx-Rice; +Cc: Guix Devel

[-- Attachment #1: Type: text/plain, Size: 999 bytes --]

Pierre Neidhardt <mail@ambrevar.xyz> writes:

> Tobias Geerinckx-Rice <me@tobias.gr> writes:
>
>> Pierre Neidhardt 写道:
>>> Let me know if there is anything else that bot broken in the 
>>> process.
>>
>> Adding your local repository to ~/.guix/config/channels.scm and 
>> running ‘guix pull’ after committing (and before pushing) should 
>> reproduce the downstream experience quite accurately, although I 
>> haven't tried it myself.
>
> Yes, it also works with `guix pull --url=...`, but I would like to avoid
> touch my user guix checkout profile.
>
> Maybe this would be a viable alternative then:
>
> --8<---------------cut here---------------start------------->8---
> guix pull --url=... && guix package -p ~/.config/guix/current --roll-back
> --8<---------------cut here---------------end--------------->8---
>
> Not atomic, but good enough I suppose.
>
> Thoughts?

You can 'guix pull -p /tmp/guix-master --url=.' to avoid clobbering your
current-guix.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Guix pull chokes on uglify-js
  2019-12-05 15:12               ` Marius Bakke
@ 2019-12-05 15:19                 ` Pierre Neidhardt
  2019-12-05 15:37                   ` Pierre Neidhardt
  0 siblings, 1 reply; 14+ messages in thread
From: Pierre Neidhardt @ 2019-12-05 15:19 UTC (permalink / raw)
  To: Marius Bakke, Tobias Geerinckx-Rice; +Cc: Guix Devel

[-- Attachment #1: Type: text/plain, Size: 81 bytes --]


Yup, that's simpler actually.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Guix pull chokes on uglify-js
  2019-12-05 15:19                 ` Pierre Neidhardt
@ 2019-12-05 15:37                   ` Pierre Neidhardt
  2019-12-05 16:06                     ` Tobias Geerinckx-Rice
  0 siblings, 1 reply; 14+ messages in thread
From: Pierre Neidhardt @ 2019-12-05 15:37 UTC (permalink / raw)
  To: Marius Bakke, Tobias Geerinckx-Rice; +Cc: Guix Devel

[-- Attachment #1: Type: text/plain, Size: 140 bytes --]

Repushed with the last fix in.  This time tested against a proper `guix
pull`.
Pfeww! :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Guix pull chokes on uglify-js
  2019-12-05 15:37                   ` Pierre Neidhardt
@ 2019-12-05 16:06                     ` Tobias Geerinckx-Rice
  0 siblings, 0 replies; 14+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-12-05 16:06 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: Guix Devel

[-- Attachment #1: Type: text/plain, Size: 277 bytes --]

Pierre Neidhardt 写道:
> Repushed with the last fix in.  This time tested against a 
> proper `guix
> pull`.
> Pfeww! :)

Thank you!

You can ignore channels.scm suggestion, was in a hurry $ thought 
you meant that *--url=* wasn't DTRT.

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2019-12-05 16:06 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-28 19:58 Guix pull chokes on uglify-js Tobias Geerinckx-Rice
2019-11-28 20:47 ` Pierre Neidhardt
2019-11-29 14:42   ` Pierre Neidhardt
2019-11-29 15:25     ` zimoun
2019-12-02  9:35       ` Pierre Neidhardt
2019-12-05 12:50         ` Pierre Neidhardt
2019-12-05 14:46           ` Tobias Geerinckx-Rice
2019-12-05 14:54             ` Pierre Neidhardt
2019-12-05 14:55           ` Tobias Geerinckx-Rice
2019-12-05 15:03             ` Pierre Neidhardt
2019-12-05 15:12               ` Marius Bakke
2019-12-05 15:19                 ` Pierre Neidhardt
2019-12-05 15:37                   ` Pierre Neidhardt
2019-12-05 16:06                     ` Tobias Geerinckx-Rice

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).