Navigation: Nautilus / Development

Nautilus

Nautilus internals

|-- ChangeLog                      # what happend (also see svn log)
|-- INSTALL                        # installation instructions
|-- MAINTAINERS                    # the people working on Nautilus
|-- docs
|   |-- nautilus-internals.pdf     # some very old documentation
|-- eel                            # the eel library of helper functions
|-- libnautilus-extension          # the public API, exposed to the outside world
|   |-- nautilus-file-info.c       # exposes Nautilus's private nautilus-file.c
|-- libnautilus-private            # this is Nautilus's internals, never exposed
|   |-- nautilus-file.c            # one of the most important files
|-- po                             # translation files
|-- src                            # main source, lots of dialogs etc.
|   |-- nautilus-main.c            # main
|   |-- file-manager               # file manager views and dialogs
|       |-- fm-directory-view.c    # base class for directory views
|       |-- fm-icon-view.c         # icon view
|       |-- fm-list-view.c         # list view
|       |-- fm-properties-window.c # file properties dialog
|-- test                           # tests

Getting Nautilus

Checking out from Git is the best way. See http://live.gnome.org/Git

git clone git://git.gnome.org/nautilus

Building Nautilus

Manually

Requirements

These are all the dependencies for building GNOME in its entirety.

sudo apt-get install gnome-common build-essential doxygen subversion automake1.4 automake1.7 cvs git-core docbook docbook-utils docbook-xsl flex bison texinfo python2.5-dev lynx mono-gmcs libtiff4-dev libxtst-dev libgdbm-dev libxml-simple-perl libelfg0-dev libcupsys2-dev libldap2-dev libexchange-storage1.2-dev libxmu-dev libpam0g-dev libgpgme11-dev libfreetype6-dev libpng12-dev libxrender-dev libxi-dev libexpat1-dev libbz2-dev firefox-dev libxcursor-dev guile-1.8-dev libxdamage-dev libxcomposite-dev libmono-cairo2.0-cil xnest libxft-dev libloudmouth1-0 libloudmouth1-dev libxss-dev libxkbfile-dev gtk-doc-tools libjasper-dev libnl-dev ppp-dev libdv4-dev uuid-dev libpcre3-dev libsqlite3-dev libpurple-dev libcurl4-gnutls-dev libxul-dev

You can also try using sudo apt-get build-dep nautilus.

Building

You don't have to make install when building, you can simply run Nautilus from the build directory.

./autogen.sh --prefix /usr
make
./src/nautilus --no-desktop .

Using JHBuild

JHBuild allows you to setup a separate environment for development. You don't have to jhbuild bootstrap nor do a sanitycheck. Your ~/.jhbuildrc should be a copy of sample.jhbuildrc.

jhbuild buildone glib
jhbuild buildone gvfs
jhbuild buildone gnome-python
jhbuild build nautilus            # this will fetch and build all dependencies and will take hours
jhbuild buildone nautilus-python

If anybody can figure out which dependencies specifically are needed just to build Nautilus (things that are outdated) please update the instructions above.

You should also be able to build a normal Nautilus from the JHBuild shell (see above).

See also

Nautilus/Development/Nautilus (last edited 2011-04-02 22:08:34 by BrucevanderKooij)