<div dir="ltr">I'll let you know when/if I finish the package. :)<br><br>libodb's cppget src-url property still looks the same to me from here.<br><br>I imagine it's easier for now not to make separate stub bpkgs for native dependencies (I have no intention yet of maintaining them). On the topic of maintenance burden - don't forget to give cppget package maintainers the ability to transfer/share ownership.<br><br>Josh</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 7, 2017 at 6:28 AM, Boris Kolpackov <span dir="ltr"><<a href="mailto:boris@codesynthesis.com" target="_blank">boris@codesynthesis.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Joshua Olson <<a href="mailto:0joshua.olson1@gmail.com">0joshua.olson1@gmail.com</a>> writes:<br>
<br>
> I'm gonna see if I can make a JUCE package...<br>
<br>
Sounds good. If you would like, I can publish it on <a href="http://cppget.org" rel="noreferrer" target="_blank">cppget.org</a> (in the<br>
future there will be an automated way to do it but for now I can do it<br>
manually if you give me a git repo).<br>
<br>
<br>
> Comment: the src-url of <a href="https://cppget.org/libodb" rel="noreferrer" target="_blank">https://cppget.org/libodb</a> is broken (<br>
> <a href="https://git.codesynthesis.com/cgit/?p=odb/libodb.git;a=tree" rel="noreferrer" target="_blank">https://git.codesynthesis.com/<wbr>cgit/?p=odb/libodb.git;a=tree</a> says 'invalid<br>
> request')<br>
<br>
Fixed, thanks!<br>
<br>
<br>
> Question: if package A depends on a semi-popular package B being installed<br>
> (e.g. libcurl, webkit, gtk headers on Linux), is it ever preferable for<br>
> package B to be a bpkg too?<br>
<br>
Good question. In bpkg we have a notion of stub packages. Quoting from<br>
the bpkg manual[1]:<br>
<br>
"Version 0 (with a potential revision, for example, 0+1, 0+2) is used<br>
to signify a stub package. A stub is a package that does not contain<br>
source code and can only be "obtained" from other sources, for example,<br>
a system package manager. Note that at some point a stub may be converted<br>
into a full-fledged package at which point it will be assigned a "real"<br>
version."<br>
<br>
You can see an example of a stub here:<br>
<br>
<a href="https://git.build2.org/cgit/packaging/apr/libapr1/" rel="noreferrer" target="_blank">https://git.build2.org/cgit/<wbr>packaging/apr/libapr1/</a><br>
<br>
Currently, the only way to install a package via a stub is to tell bpkg<br>
that it is already system-installed, for example:<br>
<br>
$ bpkg build sys:libcurl libjuce<br>
<br>
In the future, however, we are thinking of having bpkg query the system<br>
package manager (e.g., apt, dnf, pkg, etc) and if the package is not<br>
installed, offering to install it.<br>
<br>
So, to put this all together, currently, if you do not want (yet) to<br>
package some dependencies but would like to list them as dependencies<br>
in the manifest, then the way to go is to create a stub.<br>
<br>
The reason you may at some point want to convert a stub to a full<br>
package is Windows: it doesn't have a system package manager (though<br>
I hear vcpkg may be becoming something like that) which makes<br>
installing dependencies painful. For example, we have started with<br>
libpq (PostgreSQL client library) as a stub but have now made it a<br>
real package which made life on Windows so much easier.<br>
<br>
[1] <a href="https://build2.org/bpkg/doc/build2-package-manager-manual.xhtml" rel="noreferrer" target="_blank">https://build2.org/bpkg/doc/<wbr>build2-package-manager-manual.<wbr>xhtml</a><br>
<span class="HOEnZb"><font color="#888888"><br>
Boris<br>
</font></span></blockquote></div><br></div>