Ok, someone needs to make a guide for compiling a GPP svn environment and make it a sticky.
To compile tremulous for GPP you need:
1 data-1.1.0.pk3.
1 data-gppr2053.pk3 (or whatever is most recent)
1 map, any (although several depend on map-atcs.pk3 for textures)
1 set of custom vms (this may be omitted if you're just compiling vanilla gpp). Note that these vms MUST be in a directory called "vm" or it will not work. If your set of vms includes cgame.qvm or ui.qvm, you'll probably want to create a .pk3 from it, see below.
Optionally: 1 vms-gppr2053.pk3 (or whatever is most recent). This will ensure that your tremulous will run. However its presence may mask failure to install custom vms.
Step 1: Place all of the above in fs_basepath/base/
Step 2: If you want to keep your newly compiled tremulous separate from your current install, run tremulous with the options: +set fs_basepath <directory> +set fs_homepath <directory>
Step 3: Run tremulous. Note that if you want to run a gpp server, you need to make a separate directory called "gpp" in fs_basepath and copy the gpp data and vms there. Then run tremulous with the option +set fs_game gpp, in addition to any other options you may be using. fs_homepath need not exist at runtime.
Special Note: If you're trying to compile vms on windows, you'll have to read another sticky for that. Be warned, it is copmlitcated.
Creating a .pk3: A .pk3 is just an oddly named .zip file. So all you need to do to create a .pk3 of vms is to simply zip up the "vm" directory. On linux, you'll run a command similar to: "zip -r customvms.pk3 ./vm" in a terminal program. Or you could just use a file manager to create a .zip file and then rename it.
EDIT: I almost forgot: ui/menu.txt is found in the gpp data .pk3.