Some stats based on the port dependency graph

M.E. O'Neill oneill at cs.hmc.edu
Wed Aug 17 02:49:32 PDT 2011


For some (unrelated-to-macports) research I've been doing, I've been looking at various graph metrics, and so I figured it might be interesting to show some metrics for MacPorts ports.

Top fifty most required ports:

	ncursesw, ncurses, gperf, libiconv, zlib, expat, gettext, perl5.12, openssl, readline, bzip2, python-select, sqlite3, perl5, db46, m4, p5.12-locale-gettext, help2man, gdbm, autoconf, automake, libtool, glib2, pkgconfig, libxml2, python27, xorg-xproto, xorg-xtrans, xorg-util-macros, xorg-xcb-proto, xorg-libXau, xorg-libXdmcp, xorg-libpthread-stubs, xorg-libxcb, xorg-xextproto, xorg-inputproto, xorg-kbproto, xorg-bigreqsproto, xorg-xcmiscproto, xorg-xf86bigfontproto, xorg-libX11, libpng, xorg-libXext, jpeg, freetype, fontconfig, libidn, tiff, unzip, xorg-renderproto

For example, ncurses is required (directly or indirectly) by 6396 ports (more than half of all ports), perl5.12 by 5440, and bzip2 by 3915.

Top fifty "most reachable" ports by page rank algorithm:

	perl5.12, perl5.8, perl5.10, perl5.14, zlib, pkgconfig, python26, ncurses, gettext, libiconv, python24, openssl, glib2, unzip, python25, ruby, python27, readline, ncursesw, gperf, perl5, automake, expat, autoconf, ghc, libtool, python-select, ruby19, bzip2, kdebase3, py26-distribute, php5, libxml2, cmake, sqlite3, gtk2, octave, py25-distribute, libpng, aspell, koffice, ocaml, gmp, xz, kaffe, py27-distribute, rb-rubygems, xorg-libX11, gdbm, db46

Top fifty most requiring ports (each pulling in about 200 other ports):

	gnome, gnome-desktop-suite, p5.10-gimp, p5.14-gimp, p5.8-gimp, p5-gimp, p5.12-gimp, 	gnucash, gnucash-devel, xorg, p5-catalyst-helper-authdbic, p5.12-catalyst-helper-authdbic, p5.10-catalyst-helper-authdbic, p5.14-catalyst-helper-authdbic, p5.8-catalyst-helper-authdbic, kdenetwork4, kdepim4, kdenlive, kdegraphics4, digikam, texlive-bibtex-extra, totem, gimp, pessulus, gnome-python-desktop, glom, auto-multiple-choice, gimp-gap-devel, gimp-gap, kmymoney4-devel, ufraw, xfce, xsane, kmymoney4, gimp-user-manual, gimp-lqr-plugin, gimp-jp2, gimp-app, icns-gimp, gutenprint, gimp2-devel, macclipboard-gimp, macfile-gimp, greycstoration, gimp2, kdeutils4, gnome-developer-tools, amarok, tsclient, ktorrent4


The median MacPorts port is required by no other ports, directly requires two other ports 2, and pulls in a total of 13 other ports.

I've put a CSV file up with this and other related data for anyone who's interested...  Alas, I chose to put it on pastebin, which made life uglier because the CSV file is fairly large.  Copy it from the "raw data" area, and paste into a shell to unpack.

	http://pastebin.com/tU7Mb22M

    M.E.O.

P.S.  Because I used port deps, this data does include false dependencies like dependencies on kaffe.



More information about the macports-dev mailing list