[swift-build-dev] Swift Package Manager - Support for downloading/installing external dependencies that a Swift Package may have
Ricardo N Olivieri
ricardo.olivieri at us.ibm.com
Mon Feb 1 21:12:51 CST 2016
Thanks Max again for your response.
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).
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)?
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.
From: Max Howell <max.howell at apple.com>
To: Ricardo N Olivieri/Austin/IBM at IBMUS
Cc: swift-build-dev at swift.org, Samuel Kallner <KALLNER at il.ibm.com>,
Daniel Firsht/Austin/IBM at IBMUS, Andrew M Trice/Washington/IBM at IBMUS,
Robert F Dickerson/Austin/IBM at IBMUS
Date: 01/28/2016 01:08 PM
Subject: Re: [swift-build-dev] Swift Package Manager - Support for
downloading/installing external dependencies that a Swift Package may have
Sent by: max.howell at apple.com
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.
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.
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
High-ish. There are gaping holes in SwiftPM that are currently higher
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.
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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-build-dev