Okay, I'm gonna have to enter rant mode here, because this is aggravating me. Why in the bloody fuck do we need another package format? Okay, cool, you have a project, it has needs, you wanna track it. How hard is it to use one of the pre-existing formats? We have rpm, deb, pkg, pkgng, etc as system packaging formats. Is your language such a precious and delicate flower that it needs its own packaging format? You can…
Swift package manager
11–20 of 27 posts
Re: Swift package manager
#12No support for tests yet, beyond ignoring folders called 'Test'. It can't even support local file paths at the moment.
Certainly, watch this space, but there's hardly anything to be excited about here yet.
Re: Swift package manager
#13I was really excited to see Mattt Thompson (AFNetworking & NSHipster) have quite a few commits in the repository. I followed him religiously when he would write for NSHipster and then he just kind of disappeared for a while (or I have no clue where to look). Regardless, great to see Apple looked to him for advice on this project seeing he has produced some of the most popular open source software for iOS and OS X tha…
Re: Swift package manager
#14It's seriously so cool that the Homebrew guy (Max Howell) is behind this. Great fit for him at Apple. =P
Seriously though, seems like a perfect fit, much better than him working on something unrelated at Google etc
Re: Swift package manager
#15It's seriously so cool that the Homebrew guy (Max Howell) is behind this. Great fit for him at Apple. =P
Re: Swift package manager
#16And its not called Taylor?
Re: Swift package manager
#17Speaking of my own experience in working on Cloud Foundry buildpacks, a feature I'd be keen on having is true "vendoring" of dependencies. Bundler does this correctly with a common corner case -- gems that include C/C++ code. It will keep that source code, as well as ruby. Turns out to be a very important feature when deploying to a disconnected environment.
[1] https://github.com/kylef/heroku-buildpack-swift
[2] https://blog.starkandwayne.com/2015/12/08/apple-swift-buildp...
Re: Swift package manager
#18Okay, I'm gonna have to enter rant mode here, because this is aggravating me. Why in the bloody fuck do we need another package format? Okay, cool, you have a project, it has needs, you wanna track it. How hard is it to use one of the pre-existing formats? We have rpm, deb, pkg, pkgng, etc as system packaging formats. Is your language such a precious and delicate flower that it needs its own packaging format? You can…
However, I do think you have a valid point in that there are plenty of commonalities between the software module package management needs of different languages. There is little need for each language to re-invent its own system.
It certainly would be considerably more challenging to develop a system that could work for multiple languages, and then there are the existing ecosystems to consider in terms of (the huge) cost of migration, mindshare, etc.
But in principle, you are right, even if economics means that it cannot happen in practice. No need for Yet Another One. But it will happen because economics.
Re: Swift package manager
#19It's seriously so cool that the Homebrew guy (Max Howell) is behind this. Great fit for him at Apple. =P
Lets just hope there aren't any binary trees in need of inverting at Apple ;) Seriously though, seems like a perfect fit, much better than him working on something unrelated at Google etc
Re: Swift package manager
#20Okay, I'm gonna have to enter rant mode here, because this is aggravating me. Why in the bloody fuck do we need another package format? Okay, cool, you have a project, it has needs, you wanna track it. How hard is it to use one of the pre-existing formats? We have rpm, deb, pkg, pkgng, etc as system packaging formats. Is your language such a precious and delicate flower that it needs its own packaging format? You can…
Traditional system package managers are also terrible. They install everything into the global /usr directory so that you can't have differing sets of depdencies for different software and they require root access because /usr is only writeable by root. Because of these severe limitations and without effort being put in to fix it, I think GNU/Linux distributions have helped push everyone towards using a new package manager per language so that people can get their work done.
The solution to all of these problems is functional package management. They take the good parts of both system and language-specific package managers and add even more features and improvements on top. Functional package managers can handle software written in any language, allow unprivileged package installation, and allow different packages to depend on different versions of the same software without issue. They have additional features such as transactional upgrades and rollbacks, and system-wide deduplication. The entire dependency graph is precisely captured, all the way down to a small set of bootstrap binaries that are the roots of the graph. The GNU Guix [0] and Nix[1] projects implement the functional package management paradigm, and they are both worth taking a serious look at. In addition to standard package management features, they also can do full-system configuration management with their respective distributions GuixSD and NixOS.