Pure Data External Repository

Accessing the Externals via CVS

You have to install cvs. On most Linux systems this is already installed, on Windows or Mac OS/X you will have to download it from the net. Then, if you have cvs installed (this example is assuming the commandline version) use the following line to login into the CVS server:
% cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pure-data login 

Hit return when you are asked for a password. In order to get the source:

% cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pure-data co externals

This will give you a local copy of the externals-directory in the repository. Other modules are for example called "abstractions" (see below) or you could also use "." to check out everything. After some time, if you want to get all the latest additions and updates, type (in the externals directory):

% cvs update -d

Without the -d only existing directories on your local copy get updated. Depending on your configuration you might have -d as default anyways.

Currently building the externals works to same way it did before, just cd into the external directory (e.g. cd vst) and read through the compilation instructions. Later this process will be automated and you can build al the externals in one go, or even download a precompiled archive for your system.

Some other modules in the repository include Pd abstractions or the developers version of Pd. You can check these out by replacing the modulename with the respective modulename.

For example check out the abstractions with:

% cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pure-data co abstractions

or Pd with

% cvs -z3 -d:pserver:anonymous@cvs.pure-data.sourceforge.net:/cvsroot/pure-data co pd

To check out the current developers' branch, which is tagged with "devel_0_37", use

% cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pure-data co -r devel_0_37 pd

You can find out the available branches in the pulldown menu on the project's CVS-page (or use "cvs -T ..."). Browsing CVS is a good way to see what else is in the repository anyway.

Putting Your Externals in the Repository

This description is mainly about Linux, if you are working with Windows, you might try the procedure described in this tutorial. Let us know if it works.

To contribute your pd externals to the repository you'll first have to register yourself at sourceforge (making you an official developer of the project). Go to sourceforge.net and click on the "new user" link on the upper left corner. Then send an email with the user you created and Guenter will add you to the pure-data developer list.

At the project page you can see if you are already listed as a developer. The next step is to "import" your source code. First make sure that your code is in a directory, and remove everything from that directory that you don't want to put under CVS. Compiled code, for example, is not normally put into CVS.

Make sure you are in this directory and issue the command:

% export CVS_RSH=ssh
% cvs -z3 -d:ext:developername@cvs.sourceforge.net:/cvsroot/pure-data \
  import externals/dirname developername source-dist

Exchange "developername" with your sourceforge accountname and "dirname" with the name of your externals directory. You have to import the source only once for your external(s).

If all of this went well, move away your external directory (keep it as a backup) and checkout the code with:

% cvs -z3 -d:ext:developername@cvs.sourceforge.net:/cvsroot/pure-data \
  co externals

From this point on, if you are working in your externals directory, and want to commit your changes to the server you just have to do

% cvs commit

or

% cvs update

to take a look at what you have changed.

All the information about where the repository is, the loginname etc, is in the "CVS" directory, that should be part of your external directory now.

If you are still unsure about the workings, take a look at this introduction about using CVS.