

9000 up-to-date binary packages for OS X - jperkin
http://www.perkin.org.uk/pages/pkgsrc-binary-packages-for-osx.html

======
pat2man
Is there any reason to use this over homebrew?

~~~
jonknee
It should be a lot faster, homebrew compiles most packages.

~~~
cmsj
Also binary packages don't require you do have compilers installed.

I'm slightly biased because I have known Mr Perkin for some time, but I could
not be more delighted that there is a fresh attempt to get a binary package
manager running on OSX, to sweep away the madness of MacPorts and Homebrew.

I rather suspect though that it will hinge on how easily people can get new
software they want, included in the main repositories. That is the key
advantage of homebrew, it's quick and easy to get software you want, being
managed by it.

------
pinko
Can anyone summarize how this differs from MacPorts or Homebrew?

~~~
jperkin
Hi!

Briefly, pkgsrc is quite similar to both, in that it allows you to build
software easily from source.

This repository is a bulk build of all available packages in pkgsrc, so it
gives you the option to install from binary packages instead of having to
compile them from source. However, you still have the option to build from
source if you prefer, or want to select different compile options from the
defaults.

It also comes with 'pkgin' which is very similar to 'apt-get' and allows you
to quickly search, install, upgrade and remove binary packages.

This is the same framework we use for SmartOS, so if you provision a
SmartMachine from Joyent you get the same interface. pkgsrc is cross-platform,
so you can use it on Linux, OSX, Solaris, *BSD .. or even more exotic systems
such as Cygwin or Haiku.

If you have any comments/complaints I'd love to hear them, we want to provide
excellent packages.

~~~
cmsj
Hey Sketch :)

Could you maybe talk about how easy it is (or isn't) for J Random Developer to
get Awesomesauce New Webscale Database packaged and into your repository? (cf
Homebrew which is some git forkery, creating a worryingly simple config file,
and a pull request)

~~~
jperkin
Hi Chris!

So yeh, it's not quite as simple as Homebrew, which is definitely optimised
for that use-case, but it's still relatively straight-forward.

Taking the 'tmux' package as an example:

<https://github.com/jsonn/pkgsrc/tree/trunk/misc/tmux>

The main guts are in Makefile. DESCR is a few lines of description about the
package, and is used by package managers. distinfo contains SHA1 and sizes of
the source tarballs and patches. PLIST is a list of files the package will
install. And finally, the patches/ directory contains per-file patches which
will be applied to the source prior to building.

Due to the cross-platform support, there is a huge range of functionality
available for Makefiles, and so some of them can look pretty complicated.

However, it's pretty straight-forward to get started, and there are various
tools (e.g. pkgtools/url2pkg) which can make things pretty simple to get
started.

I'm planning an introductory blog post on this at some point which should
hopefully cover all of the basics.

~~~
cmsj
Thanks, that sounds great!

Out of interest, if someone has site-specific software they need to package,
but is of no interest to the wider world, how easy is it to host their own
repository with that software? (is it like apt where it offers the user a
union of an arbitrary number of software repositories?) Would it be vastly
easier in that case to revert to being source based, or is it relatively easy
to build binaries and shove them into a repo?

~~~
jperkin
I already have a blog post on that ;)

[http://www.perkin.org.uk/posts/creating-local-smartos-
packag...](http://www.perkin.org.uk/posts/creating-local-smartos-
packages.html)

You'll just need to tweak paths from /opt/local (SmartOS) to /usr/pkg (OSX).

The one caveat is that multiple repository support in pkgin is not great right
now. It should be ok as long as your site-specific packages are separate from
the rest, and have unique names etc. This is something we hope will be fixed
during this year's GSOC.

------
kenneth_reitz
Homebrew supports bottles, which are binary versions of forumlas.

