Re: Package workspace relocation
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
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
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
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
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`.