Graças à sua pergunta, encontrei minha solução.
[server]$ ./configure --prefix=$HOME/test
[server]$ make
[server]$ make install
[server]$ ls -R ~/test/
~/test/:
include lib
~/test/include:
pixman-1
~/test/include/pixman-1:
pixman-version.h pixman.h
~/test/lib:
libpixman-1.a libpixman-1.so libpixman-1.so.0.32.4
libpixman-1.la libpixman-1.so.0 pkgconfig
~/test/lib/pkgconfig:
pixman-1.pc
Tudo o que eu pedi foi
$ export PKG_CONFIG_PATH="$HOME/lib/pkgconfig/"
então o pkg-config pixman-1 --libs retornou a biblioteca correta e eu pude fazer o cairo compilar.
Talvez haja um problema com o pkg-config encontrar pixman: você pode tentar configurar as variáveis de ambiente para sobrescrever o pkg-config
pixman_CFLAGS - C compiler flags for pixman, overriding pkg-config
pixman_LIBS - linker flags for pixman, overriding pkg-config
$ export pixman_CFLAGS="-I$HOME/include/pixman-1"
$ export pixman_LIBS="-L$HOME/lib/ -lpixman-1"