The Lumber Room

"Consign them to dust and damp by way of preserving them"

Archive for January 2009

MacPorts guide

leave a comment »

Installing: Easiest is to just get the .pkg installer and run it. After it’s done, you should edit your .{bash,zsh}rcs and put

PATH=$PATH:/opt/local/bin:/opt/local/sbin
MANPATH=${MANPATH}:/opt/local/man

They recommend adding these paths at the front; I prefer adding them at the end.
At some point you might want to make changes to MacPorts itself; when that happens you can easily switch to using MacPorts from SVN, with

svn co http://svn.macports.org/repository/macports/trunk

then cd to base and do the usual

./configure
make
sudo make install

Staying updated (like apt-get update): Do

sudo port -v selfupdate

regularly. There is no need to do “port sync”.

Staying upgraded (like apt-get dist-upgrade): Do

sudo port -u upgrade

regularly.

Changing individual ports: This is the best part about MacPorts: if some package (“port”) is not working properly, it’s very easy to simply fix it. One way is to just edit the corresponding “portfile” directly — try port file pidgin to see which Portfile to edit — but that will be overwritten the next time you update. The better way is to set up a local Portfile repository. To do this, edit /opt/local/etc/macports/sources.conf and add something like

file:///Users/julesverne/ports

before rsync://rsync.macports.org/release/ports. This directory should contain the Portfiles just as in the Macports tree, e.g. it should have /Users/julesverne/ports/net/pidgin/Portfile if you’re going to be changing Pidgin’s portfile.

Written by S

Sun, 2009-01-11 at 15:58:28 +05:30

Posted in Uncategorized

Macports and Fink: software packaging for Mac OS X

with one comment

One of the ways in which (good) Linux distributions—by which I mean Debian and Ubuntu—are better than Mac OS X is that it’s trivial to install, upgrade and uninstall packages: you just use the package management system.

On OS X, things aren’t so great. There is a good set of software that comes installed by default — Perl, Python, Bash, Zsh, CVS, Subversion, Emacs, Vim… — but at some point of time you’ll need more. (Mutt, MPlayer…)

This is where the likes of Macports and Fink come in. They package free software, somewhat analogous to what Linux distributions do, although neither comes close to any good distribution.

Fink was the first one I tried. They have a better-looking website and it says “Fink uses Debian tools like dpkg and apt-get to provide powerful binary package management.” Oh it’s like Debian, so it must be good, right? Wrong.
After trying Fink for a few months, I realised that using Debian tools does not a Debian make. As has been astutely observed, “the fanatical devotion of the Debian package maintainers makes the difference”. The packaging system — apt, dpkg — are just an offshoot of their great work, but without similar packagers, it’s no good. The Fink developers are competent and good, but their packages just aren’t satisfactory. Everything in their “stable” category is too old, and their “unstable” category really is unstable. And as far software with a GUI goes, they have only X11 apps, no Aqua ones.

Macports is more pragmatic. They have only one category, no stable v/s unstable. Everything is at the newest version that someone has managed to compile. They move fast, are more responsive to user questions, and have a more active IRC channel and mailing lists. They are also clearly less “l33t” than the Fink people, because their system is written in Tcl (really!) by people who have long since disappeared, and none of the current ones have a very good idea of what to do with the system. Nonetheless, they recognise that it is the packages that are important, not the system.
There are other bad things — (1) no binary packages, must compile from source. Improving. (2) Variants. Stupid idea, but could be worse.

Gentoo Prefix. I tried it. It’s Gentoo. It sucks.

Pkgsrc: Haven’t tried it.

Written by S

Thu, 2009-01-01 at 18:31:30 +05:30

Posted in unfinished

Follow

Get every new post delivered to your Inbox.

Join 73 other followers