Re: Package workspace relocation

2020-11-17 Thread zimoun
Hi Efraim,

On Tue, 17 Nov 2020 at 09:23, Efraim Flashner  wrote:

> (add-after 'unpack 'move-source
>   (lambda _
> (mkdir-p "foo/bar")
> (rename-file "my-project" "foo/bar/my-project")
>   #t))

Cool!  Thank you for the explanation.

Cheers,
simon



Re: Package workspace relocation

2020-11-16 Thread Efraim Flashner
On Tue, Nov 17, 2020 at 12:09:35AM +0100, zimoun wrote:
> Dear,
> 
> On Mon, 16 Nov 2020 at 16:56, Stephen Scheck  wrote:
> 
> > `/my-project` to become `/foo/bar/my-project`. It sounds like what you
> 
> [...]
> 
> >> > This results in a path like `/my-package-0.0.1` but
> >> `/foo/bar/my-package-0.0.1`.
> 
> What do you want?  Append a suffix /tmp/guix-xyz/foo/bar/your-pkg or a
> prefix /tmp/foo/bar/guix-xyz/your-pkg?
> 
> Change the prefix means changing the TMPDIR environment variable of
> guix-daemon (priviliged user).
> 
> At first look, I do not know how to add something between guix-xyz-drv-0/
> and your-pkg/.  Curious to know how. :-)
> 

I think I'd go with
(add-after 'unpack 'move-source
  (lambda _
(mkdir-p "foo/bar")
(rename-file "my-project" "foo/bar/my-project")
  #t))

With that you'll be in  and you can chdir into whatever
directory you want. Or you could change the source so it doesn't expect
the source to be deep in a directory structure.

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


Re: Package workspace relocation

2020-11-16 Thread zimoun
Dear,

On Mon, 16 Nov 2020 at 16:56, Stephen Scheck  wrote:

> `/my-project` to become `/foo/bar/my-project`. It sounds like what you

[...]

>> > This results in a path like `/my-package-0.0.1` but
>> `/foo/bar/my-package-0.0.1`.

What do you want?  Append a suffix /tmp/guix-xyz/foo/bar/your-pkg or a
prefix /tmp/foo/bar/guix-xyz/your-pkg?

Change the prefix means changing the TMPDIR environment variable of
guix-daemon (priviliged user).

At first look, I do not know how to add something between guix-xyz-drv-0/
and your-pkg/.  Curious to know how. :-)


Hope that helps,
simon



Re: Package workspace relocation

2020-11-16 Thread Stephen Scheck
I just need to add a prefix to the directory in which the Git source is
cloned, because its build system requires that. I don't care which TMP
directory Guix daemon uses for its build root. I just need for
`/my-project` to become `/foo/bar/my-project`. It sounds like what you
suggested will do the trick, if I understand it correctly.

Thanks.


On Mon, Nov 16, 2020 at 3:56 PM Leo Famulari  wrote:

> On Mon, Nov 16, 2020 at 03:15:46PM -0500, Stephen Scheck wrote:
> > Is there a way to relocate the package build workspace for a Git clone
> > source, e.g.:
> >
> > (package
> >   (name "my-package")
> >   (version "0.0.1")
> >   (source (origin
> >   (method git-fetch)
> >   (uri (git-reference
> >  (url "https://github.com/my-package;)))
> >  (file-name (git-file-name name version))
> >
> > This results in a path like `/my-package-0.0.1` but
> > because of idiosyncrasies in the project's build system, I need for it to
> > be relocated to something like
> `/foo/bar/my-package-0.0.1`.
> >
> > How can I do this?
>
> I'm not sure that I fully understand what you are asking.
>
> However, the location of the build directory is controlled by the TMPDIR
> variable, which is set in the environment of the guix-daemon. You can
> set it to any location that you want.
>
> An alternative per-package approach is to add a build phase before the
> 'unpack' phase and do something like `mkdir -p foo/bar && chdir
> foo/bar`.
>


Re: Package workspace relocation

2020-11-16 Thread Leo Famulari
On Mon, Nov 16, 2020 at 03:15:46PM -0500, Stephen Scheck wrote:
> Is there a way to relocate the package build workspace for a Git clone
> source, e.g.:
> 
> (package
>   (name "my-package")
>   (version "0.0.1")
>   (source (origin
>   (method git-fetch)
>   (uri (git-reference
>  (url "https://github.com/my-package;)))
>  (file-name (git-file-name name version))
> 
> This results in a path like `/my-package-0.0.1` but
> because of idiosyncrasies in the project's build system, I need for it to
> be relocated to something like `/foo/bar/my-package-0.0.1`.
> 
> How can I do this?

I'm not sure that I fully understand what you are asking.

However, the location of the build directory is controlled by the TMPDIR
variable, which is set in the environment of the guix-daemon. You can
set it to any location that you want.

An alternative per-package approach is to add a build phase before the
'unpack' phase and do something like `mkdir -p foo/bar && chdir
foo/bar`.