<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div>Hi Ricardo,</div><div><br class=""></div><div>Respectfully I’d rather you waited, I have a proposal in the works for major changes to the content of Package.swift and this would have quite an impact on this feature.</div><div><br class=""></div><div>I will try to get the proposal to the list soon.</div><div><br class=""></div><div>If you want to do the PR anyway we will accept it provided it is not executed as a default (requiring a flag marked explicitly as temporary) and that we will remove the flag when the feature is properly implemented and integrated.</div><div><br class=""><blockquote type="cite" class=""><div class=""><font size="2" face="sans-serif" class="">Hello Max, just following up on the previous
email. Does the approach described in the previous message fit with the
plans and vision for SPM? If it does and our team were to take a first
shot at implementing something like it, would our pull request have good
chances of getting merged with the SPM repo?</font><br class=""><font size="2" face="sans-serif" class=""><br class="">Regards,<br class=""> Ricardo Olivieri<br class=""> Software Engineer</font><br class=""><br class=""><br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">From:
</font><font size="1" face="sans-serif" class="">Ricardo N Olivieri/Austin/IBM</font><br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">To:
</font><font size="1" face="sans-serif" class="">Max Howell <<a href="mailto:max.howell@apple.com" class="">max.howell@apple.com</a>></font><br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">Cc:
</font><font size="1" face="sans-serif" class=""><a href="mailto:swift-build-dev@swift.org" class="">swift-build-dev@swift.org</a></font><br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">Date:
</font><font size="1" face="sans-serif" class="">02/01/2016 09:12 PM</font><br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">Subject:
</font><font size="1" face="sans-serif" class="">Re: [swift-build-dev]
Swift Package Manager - Support for downloading/installing external dependencies
that a Swift Package may have</font><br class=""><hr noshade="" class=""><br class=""><br class=""><font size="2" face="sans-serif" class="">Thanks Max again for your response.</font><br class=""><br class=""><font size="2" face="sans-serif" class="">I see what you are saying about having
SPM fail the build and output suggested commands to install the missing
system-packages (as opposed to having SPM perform system-package installations).</font><br class=""><br class=""><font size="2" face="sans-serif" class="">We are still wondering if we could have
a solution built into SPM that would not required any manual intervention
from a human. For instance, would implementing something like the following
be in the plans for SPM (this is somewhat similar to the original option
#1 we shared previously)?</font><br class=""><ul class=""><li class=""><font size="2" face="sans-serif" class="">Swift Packages can specify dependencies
on other libraries that are not Swift Packages (such as C libraries). The
Swift Package Manager could then "parse" this metadata, download
the C code for that external dependency (say, from the its GitHub repo),
compile it, and make it available to other Swift Packages through the module.modulemap
file. The metadata could be part of the Packages.swift file or a new file
for specifying dependencies that are not Swift Packages.</font></li></ul><br class=""><font size="2" face="sans-serif" class="">Your thoughts?</font><br class=""><br class=""><font size="2" face="sans-serif" class="">Regards,<br class=""> Ricardo Olivieri<br class=""> Software Engineer</font><br class=""><br class=""><br class=""><br class=""><br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">From:
</font><font size="1" face="sans-serif" class="">Max Howell <<a href="mailto:max.howell@apple.com" class="">max.howell@apple.com</a>></font><br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">To:
</font><font size="1" face="sans-serif" class="">Ricardo N Olivieri/Austin/IBM@IBMUS</font><br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">Cc:
</font><font size="1" face="sans-serif" class=""><a href="mailto:swift-build-dev@swift.org" class="">swift-build-dev@swift.org</a>,
Samuel Kallner <<a href="mailto:KALLNER@il.ibm.com" class="">KALLNER@il.ibm.com</a>>, Daniel Firsht/Austin/IBM@IBMUS,
Andrew M Trice/Washington/IBM@IBMUS, Robert F Dickerson/Austin/IBM@IBMUS</font><br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">Date:
</font><font size="1" face="sans-serif" class="">01/28/2016 01:08 PM</font><br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">Subject:
</font><font size="1" face="sans-serif" class="">Re: [swift-build-dev]
Swift Package Manager - Support for downloading/installing external dependencies
that a Swift Package may have</font><br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">Sent by:
</font><font size="1" face="sans-serif" class=""><a href="mailto:max.howell@apple.com" class="">max.howell@apple.com</a></font><br class=""><hr noshade="" class=""><br class=""><br class=""><br class=""><font size="2" face="sans-serif" class="">Thanks Max for your answer. To your
point, thinking about it more, it's probably not a great idea to have SPM
execute arbitrary scripts.</font><font size="3" class=""><br class=""></font><font size="2" face="sans-serif" class=""><br class="">It is good news to hear that something similar to option #1 could be implemented
and that there are plans to provide something as part of SPM that can take
of installing/downloading external [non-Swift package] dependencies that
a Swift Package may depend on.</font><font size="3" class=""><br class=""></font><font size="2" face="sans-serif" class=""><br class="">Does providing this functionality in SPM have a high priority? Any other
details about the plans for this feature that could be shared at this point?</font><br class=""><br class=""><font size="3" class="">High-ish. There are gaping holes in SwiftPM that are currently
higher priority.</font><br class=""><br class=""><font size="3" class="">This ticket should wait for my up-coming proposal that
will improve module-map-packages IMO. Then we can put this in there and
implement it at the same time.</font><br class=""><br class=""><font size="3" class="">IMO it should work like Homebrew’s caveats. If the build
fails it outputs suggested commands to install the missing system-packages,
then the user can type those commands in if they so choose.</font><br class=""><br class=""><br class=""><br class="">
</div></blockquote></div><br class=""></body></html>