Monday, November 8, 2010

MacOS and package management

This is priceless:

The following 240 additional packages will be installed: a52dec a52dec-dev a52dec-shlibs amrnb amrnb-dev amrnb-shlibs atk1 atk1-shlibs audiofile audiofile-bin audiofile-shlibs autoconf autoconf2.6 automake1.11 automake1.9 avahi avahi-dev bison cairo cairo-shlibs cloog cloog-shlibs compress-raw-bzip2-pm5100 compress-raw-zlib-pm5100 crypt-ssleay-pm5100 daemonic db48-aes db48-aes-shlibs dbus dbus1.3-dev dbus1.3-shlibs docbook-dsssl-nwalsh docbook-dtd docbook-utils docbook-xsl doxygen elinks encode-pm5100 esound esound-bin esound-common esound-shlibs faac faac-dev faac-shlibs faad ffmpeg-dev fftw3 fftw3-shlibs fink-package-precedence fontconfig-config fontconfig2-dev fontconfig2-shlibs freeglut freeglut-shlibs freetype219 freetype219-shlibs gawk gcc45 gcc45-compiler gcc45-shlibs gd2 gd2-shlibs getoptbin gettext gettext-dev ghostscript-fonts ghostscript6 giflib giflib-bin giflib-shlibs glib glib-shlibs glib2-dev glib2-shlibs glitz glitz-shlibs gmp gmp-shlibs gnome-doc-utils gsm gtk+ gtk+-data gtk+-shlibs gtk+2 gtk+2-dev gtk+2-shlibs gtk-doc html-parser-pm5100 html-tagset-pm id3lib4-dev id3lib4-shlibs imlib2 imlib2-shlibs intltool40 io-compress-pm5100 jack-dev jack-shlibs jadetex lame lame-dev lame-shlibs libao2-shlibs libavahi-client3-shlibs libavahi-common3-shlibs libavahi-core6-shlibs libavahi-glib1-shlibs libavcodec-dev libavcodec51-shlibs libavformat-dev libavformat52-shlibs libavutil-dev libavutil49-shlibs libdaemon libdaemon-shlibs libdatrie1 libdatrie1-shlibs libfaad1-dev libfaad1-shlibs libfaad2-shlibs libflac8 libflac8-dev libgettext8-dev libgmpxx-shlibs libgnugetopt libgnugetopt-shlibs libid3tag libid3tag-shlibs libidn libidn-shlibs libjasper.1 libjasper.1-shlibs libjpeg8 libkpathsea4 libkpathsea4-shlibs liblzma5-shlibs libmad libmad-shlibs libmikmod3 libmikmod3-shlibs libmodplug libmodplug-shlibs libmpc2 libmpc2-shlibs libmpcdec3 libmpcdec3-shlibs libmpfr1 libmpfr1-shlibs libogg libogg-shlibs libpng14 libpng14-shlibs libpng3 libpng3-shlibs librarian.08-shlibs libsamplerate0-dev libsamplerate0-shlibs libshout4 libshout4-shlibs libsndfile1-dev libsndfile1-shlibs libthai libthai-dev libthai-shlibs libtheora0 libtheora0-shlibs libtheoradec1-shlibs libtheoraenc1-shlibs libtiff libtiff-bin libtiff-shlibs libtool14 libtool14-shlibs libtool2 libtool2-shlibs libvorbis0 libvorbis0-shlibs libwww libwww-bin libwww-pm5100 libwww-shlibs libx264-57-shlibs libx264-dev libxml libxml-shlibs libxml2 libxml2-bin libxml2-py26 libxml2-shlibs libxslt libxslt-bin libxslt-shlibs m4 make ocaml openjade openmotif3 openmotif3-shlibs opensp4 opensp4-dev opensp4-shlibs pango1-xft2-ft219 pango1-xft2-ft219-dev pango1-xft2-ft219-shlibs passwd pixman pixman-shlibs ppl ppl-shlibs python26 python26-shlibs rarian rarian-compat sdl sdl-shlibs sgml-entities-iso8879 sgmls-pm shared-mime-info t1lib5-nox t1lib5-nox-shlibs t1lib5-x11 t1lib5-x11-shlibs tetex-base tetex-texmf texi2html uri-pm5100 wavpack1-dev wavpack1-shlibs xdg-base xft2-dev xft2-shlibs xinitrc xmkmf xml-parser-pm5100 xmms xmms-bin xmms-shlibs xvidcore xvidcore-shlibs xz 

Guess what package I was installing. Unbelievably mpd! 

I have now tried macports, homebrew and fink and they all suck. It's unbelievable how bad of a copy of most linux package managers they all are.

First of all why do i have to compile every package on all three of these tools. I know it is a lot of work and fink are working on it but it's been a year since snow leopard is out. Being forced to compile is the thing that most people erroneously make fun of when talking about linux. It is ridiculous that this troll is actually true when considering mac, and no even though most packages are more for convenience I don't think an OS without wget is to be considered complete.

 Macports really duplicates a lot of stuff unneccessarily and some packages break for me, Homebrew also broke on two packages and plain didn't have formulas for a lot of other (although it hast the rather sane policy of not duplicating anything already in MacOS, which is a big plus) and fink just sucks for the reasons above.

I don't think gentoo prefix would make the situation any better. I guess i will try to live with homebrew and write patches for it. :( I had a thought the other how i hardly ever had the urge to write a program on linux since somebody almost surely has done it before. Maybe I am not compatible to Macs, but i have never programmed as much as on Mac and that out of pure need!