Snapshots of Pixman for mozilla usage.

We only include the relevant parts of each release (generally, src/*.[ch]), as
we have moz.build files used by the Mozilla build system. For documentation and
similar, please see the official tarballs at http://www.cairographics.org/.

The paths of the actual source files look a little silly:

    gfx/pixman/pixman/pixman/pixman-arm.c

That's a lot of pixman. But this is deliberate:

- `gfx/pixman`: When we vendor libraries into Mozilla Central, we generally
  parent them with a directory holding Mozilla-specific metadata like
  `moz.build`, `moz.yaml`, and a `README` explaining the vendoring, like this
  very file. `gfx/cairo` is another example.

- `gfx/pixman/pixman`: It seems best to have the actual vendored sources look
  like a normal Git checkout. When you clone the upstream Pixman repository, by
  default you get a directory named `pixman`.

- `gfx/pixman/pixman/pixman`: The Pixman repository itself has a metadata parent
  directory, and places the actual sources in a subdirectory named `pixman`.

- `gfx/pixman/pixman/pixman/pixman-foo.c`: It is the Pixman project's convention
  to give its source files names starting with `pixman-`.

The road to absurdity is paved with good intentions.

VERSIONS:

  pixman (0.46.4)

==== Updating and Patching Pixman ====

To change Pixman in Mozilla Central:

- Make your changes to `gfx/pixman/pixman`, and test as necessary.

- Add an appropriate patch to `gfx/pixman/patches`, with filenames relative to
  `gfx/pixman/pixman`. Edit the `patches` list in `gfx/pixman/moz.yaml` to apply
  it at the appropriate point in the list --- typically the end.

- Test that UpdateBot can actually reconstruct the vendored Pixman sources with
  the following command:

      mach vendor gfx/pixman/moz.yaml -r $REVISION --patch-mode check --force

  where `$REVISION` is the `revision` currently listed in `moz.yaml`. UpdateBot
  should say that the "upstream hasn't modified files locally", and `git status`
  should be clean.

- Submit a patch for review that includes both the changes to
  `gfx/pixman/pixman` as well as the changes to `moz.yaml` and the new
  patch file in `gfx/pixman/patches`.
