ArchLinux defaults to Python 3. This causes a problem with JHBuild and other Python programs since they link to the Python 3 interpreter when they're expecting a Python 2 interpreter. Newer scripts should be using #!/usr/bin/env python2 (or python3) instead of #!/usr/bin/env python.
So, to make jhbuild use Python 2 instead of the default, add this line to your jhbuildrc (~/.config/jhbuildrc) -
os.environ['PYTHON'] = '/usr/bin/python2'
If the python2 executable is at a different location, set os.environ['PYTHON'] to that. (You can find the location by running which python2 in your shell). This is a much easier alternative than modifying all build scripts to use the Python 2 interpreter.
Follow the instructions on JHBuild page to install. The packages you will need are as follows:
sudo pacman -S base base-devel python2 git gnome-common intltool yelp-tools cvs docbook-xsl vala zip xf86-input-wacom cmake make glib libtool pkg-config flex pygobject
After installing jhbuild, run jhbuild sanitycheck. The output should be nothing, which means it completed successfully and detected no dependency issues. If there are dependency issues, install it using pacman or run jhbuild bootstrap.
Dependencies for building Gnome-Shell
sudo pacman -S libpinyin libgphoto2 libhangul python-rdflib xmlto xcmiscproto anthy xorg-util-macros xf86driproto libyaml presentproto xf86-input-wacom python-cairo ragel resourceproto doxygen bigreqsproto libical xtrans libxml2 glproto gperf
'argyllcms' provides spotread for building colord'
plymouth can be found on AUR
Module Specific Dependencies