* Circular dependency with LDC and Phobos
@ 2015-12-25 16:51 Pjotr Prins
2015-12-25 17:06 ` Roel Janssen
0 siblings, 1 reply; 5+ messages in thread
From: Pjotr Prins @ 2015-12-25 16:51 UTC (permalink / raw)
To: guix-devel
We are trying to build the LLVM D-compiler (ldc). The problem is a
circular dependency on a D-library (Phobos). The D-compiler source
won't compile without the Phobos sources which are in a separate
repository. Normally it is handled by git --recurse, but I think it
would be better to download the tar balls of the releases (I think git
recurse submodules is not working in Guix anyway, last time I tried).
How best to deal with this? Should I write a package which unpacks
Phobos tarball and make the source available to ldc? ldc won't build
without Phobos and Phobos won't build without ldc.
From the source:
LDC currently needs custom forks of druntime and Phobos. They are
integrated with the main repository using Git submodules. To build
them, make sure you have up-to-date copies of the submodules in your
local repository:
$ git submodule update -i
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Circular dependency with LDC and Phobos
2015-12-25 16:51 Circular dependency with LDC and Phobos Pjotr Prins
@ 2015-12-25 17:06 ` Roel Janssen
2015-12-25 18:19 ` Pjotr Prins
0 siblings, 1 reply; 5+ messages in thread
From: Roel Janssen @ 2015-12-25 17:06 UTC (permalink / raw)
To: Pjotr Prins; +Cc: guix-devel
Pjotr Prins writes:
> We are trying to build the LLVM D-compiler (ldc). The problem is a
> circular dependency on a D-library (Phobos). The D-compiler source
> won't compile without the Phobos sources which are in a separate
> repository. Normally it is handled by git --recurse, but I think it
> would be better to download the tar balls of the releases (I think git
> recurse submodules is not working in Guix anyway, last time I tried).
>
> How best to deal with this? Should I write a package which unpacks
> Phobos tarball and make the source available to ldc? ldc won't build
> without Phobos and Phobos won't build without ldc.
>
>From the source:
>
> LDC currently needs custom forks of druntime and Phobos. They are
> integrated with the main repository using Git submodules. To build
> them, make sure you have up-to-date copies of the submodules in your
> local repository:
>
> $ git submodule update -i
I think this specific case can be easily solved by the LDC developers by
providing proper tarballs with the *complete* source code to build LDC.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Circular dependency with LDC and Phobos
2015-12-25 17:06 ` Roel Janssen
@ 2015-12-25 18:19 ` Pjotr Prins
2015-12-25 21:18 ` Ricardo Wurmus
0 siblings, 1 reply; 5+ messages in thread
From: Pjotr Prins @ 2015-12-25 18:19 UTC (permalink / raw)
To: Roel Janssen; +Cc: guix-devel
On Fri, Dec 25, 2015 at 06:06:22PM +0100, Roel Janssen wrote:
> > $ git submodule update -i
>
> I think this specific case can be easily solved by the LDC developers by
> providing proper tarballs with the *complete* source code to build LDC.
Asking upstream developers may or may not solve it, depending on
whether they honour our ideas. But there are more cases, e.g.,
freebayes, sambamba and the list goes on of packages that use git
recursive modules as part of their build instructions.
Either we fix git recurse submodules - and I think there is no reason
we should not - or we allow importing multiple sources before the
build phase.
My question is how to do this last one in the best way because I don't
see any precedents in the gnu/package sources.
I would like to hear the thoughts of the Guix architects. What would
be the preferred policy:
1. Write a source package for phobos and make it available in the build phase of
the other package ldc
2. Fix git recursive downloads
3. Allow multiple source downloads in one package
Pj.
--
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Circular dependency with LDC and Phobos
2015-12-25 18:19 ` Pjotr Prins
@ 2015-12-25 21:18 ` Ricardo Wurmus
2015-12-26 5:04 ` Pjotr Prins
0 siblings, 1 reply; 5+ messages in thread
From: Ricardo Wurmus @ 2015-12-25 21:18 UTC (permalink / raw)
To: Pjotr Prins; +Cc: guix-devel
Pjotr Prins <pjotr.public12@thebird.nl> writes:
> My question is how to do this last one in the best way because I don't
> see any precedents in the gnu/package sources.
> 1. Write a source package for phobos and make it available in the build phase of
> the other package ldc
> 2. Fix git recursive downloads
> 3. Allow multiple source downloads in one package
Take a look at the “icedtea7” package in “java.scm”. There we download
a bunch of additional sources. They are simply added to the inputs.
~~ Ricardo
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Circular dependency with LDC and Phobos
2015-12-25 21:18 ` Ricardo Wurmus
@ 2015-12-26 5:04 ` Pjotr Prins
0 siblings, 0 replies; 5+ messages in thread
From: Pjotr Prins @ 2015-12-26 5:04 UTC (permalink / raw)
To: Ricardo Wurmus; +Cc: guix-devel
On Fri, Dec 25, 2015 at 10:18:37PM +0100, Ricardo Wurmus wrote:
>
> Pjotr Prins <pjotr.public12@thebird.nl> writes:
>
> > My question is how to do this last one in the best way because I don't
> > see any precedents in the gnu/package sources.
>
> > 1. Write a source package for phobos and make it available in the build phase of
> > the other package ldc
> > 2. Fix git recursive downloads
> > 3. Allow multiple source downloads in one package
>
> Take a look at the “icedtea7” package in “java.scm”. There we download
> a bunch of additional sources. They are simply added to the inputs.
>
> ~~ Ricardo
Thanks Ricardo. That is an interesting package! Talking about
complicated deployment...
Pj.
--
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-12-26 5:04 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-25 16:51 Circular dependency with LDC and Phobos Pjotr Prins
2015-12-25 17:06 ` Roel Janssen
2015-12-25 18:19 ` Pjotr Prins
2015-12-25 21:18 ` Ricardo Wurmus
2015-12-26 5:04 ` Pjotr Prins
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.