changed:
-
----
Since Pd development is a large and decentralized process, there are a number of source code repositories for getting source code. The main one is the [http://pure-data.svn.sourceforge.net/viewvc/pure-data/ pure-data SVN] as well as [http://pure-data.git.sourceforge.net/git/gitweb.cgi?p=pure-data/pure-data;a=tree pure-data] git and [http://pure-data.git.sourceforge.net/git/gitweb.cgi?p=pure-data/pd-extended.git;a=tree pd-extended.git]. There are a few ways that you can get the source code of Pd. The majority of the source code is hosted in Subversion (SVN) on SourceForge, while the latest core of 'pd vanilla' and the core of pd-extended are in Git. These repositories are publically available. `rsync` is used by the auto-build servers to get all this source code, and this is also publically accessible. Using the `rsync` method below is the easy way to get the whole collection of source code to build Pd-extended. See also [[WorkingWithPdExtendedSources]] for ways to put the different repositories together into a coherent development tree.
= Pd vanilla (aka pure-data git) =
Starting with version 0.43, both Pd-vanilla (`pure-data`) is hosted in the !SourceForge git. You can [http://pure-data.git.sourceforge.net/git/gitweb.cgi?p=pure-data/pd-extended.git;a=summary browse the source], or get the sources with git:
*[http://pure-data.git.sourceforge.net/git/gitweb.cgi?p=pure-data/pure-data;a=summary browse pure-data git]
{{{
git clone git://pure-data.git.sourceforge.net/gitroot/pure-data/pure-data
}}}
= Pd Subversion community repository =
The [http://sourceforge.net/projects/pure-data/ pure-data SourceForge project] and its SVN repository are a place for the '''community''' to gather source code. This SVN repository contains most externals, documentation, development projects. Old pd core and devel versions are hosted here, as well as official tags and branches. To learn more about the layout of the source code, see: [RepositoryLayout] and [[Directory Layout]].
*[http://pure-data.svn.sourceforge.net/viewvc/pure-data/trunk/ browse pure-data SVN]
{{{
svn checkout https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk pure-data
}}}
= Pd-extended =
As of 0.43, the '''core''' of Pd-extended is also hosted on the !SourceForge git, while everything else remains in the [http://pure-data.svn.sourceforge.net/viewvc/pure-data/trunk/ pure-data SVN]. The `pd-extended.git` has a more complicated set of branches than the `pure-data` repository ('''master''', '''pure-data''', and '''patch_series'''). As is normal '''master''' is the main development branch. If you want to make patches for Pd-extended, you should work against the '''master''' branch. The other two branches are meant for a reference. The '''pure-data''' branch is the version of the `pure-data` repository that Pd-extended is currently based on. The '''patch_series''' branch shows all the modifications that Pd-extended includes as a series of patches on top of '''pure-data'''.
* [http://pure-data.git.sourceforge.net/git/gitweb.cgi?p=pure-data/pd-extended.git;a=summary browse pd-extended git]
{{{
git clone git://pure-data.git.sourceforge.net/gitroot/pure-data/pd-extended.git
}}}
== Pd-extended release branches ==
Pd-extended also includes lots of libraries from the `pure-data` SVN. When it is nearing a time for the next release of Pd-extended, there is a new branch created in the `pure-data` SVN named for the major/minor version (i.e. 0.42). The ''pd/'' part of the source tree is then imported from `pd-extended` git. If you want to get the entire source code for Pd-extended, then check out one of these branches.
*[https://pure-data.svn.sourceforge.net/svnroot/pure-data/branches/pd-extended/0.42 browse pd-extended/0.42 SVN]
{{{
svn checkout https://pure-data.svn.sourceforge.net/svnroot/pure-data/branches/pd-extended/0.42
}}}
== rsync from the auto-build farm ==
An easy way to get the whole source is to use rsync and download it from the auto-build server. (note: the `--delete` flag to rsync will clean up your sources after a build to get back to the beginning). Choose one of the lines below to rsync all of the source for a given build (i.e. ''pd-extended'', ''pd-devel'', etc.).
{{{
rsync -av --delete rsync://128.238.56.50/distros/pd-extended/ pd-extended/
}}}
= libpd =
[http://gitorious.org/pdlib libpd] is a collection of wrapping code to Pd-vanilla for making Pd into an embeddable library. It can be embedded into C++, Java, [http://www.openframeworks.cc/ OpenFrameworks], Android, iPhoneOS, and more. There are a number of different git repositories for different platforms:
http://gitorious.org/pdlib
= Gem =
Gem is developed out of its [http://sourceforge.net/projects/pd-gem/ own SourceForge project] with its [http://pd-gem.git.sourceforge.net/git/gitweb.cgi?p=pd-gem/Gem;a=summary own Git repository]
*[http://pd-gem.git.sourceforge.net/ browse Gem Git]
{{{
git clone git://pd-gem.git.sourceforge.net/gitroot/pd-gem/Gem
}}}
= Tcl/Tk =
If you want to build the same version of Tcl/Tk that is used to build Pd-extended on Mac OS X, you can rsync it from here:
{{{
rsync -av --delete rsync://128.238.56.50/distros/tcltk_core-8-5-branch/ tcltk_core-8-5-branch/
rsync -av --delete rsync://128.238.56.50/distros/tcltk_core-8-4-branch/ tcltk_core-8-4-branch/
}}}
= Other Repositories =
*Matju maintains gridflow in his own repository:
{{{svn checkout http://gridflow.ca/svn/trunk}}}
*Thomas Grill's externals and Flext are in his own repository
*Pd-anywhere SVN:
{{{svn checkout https://pd-anywhere.svn.sourceforge.net/svnroot/pd-anywhere/}}}
*Pd-anywhere Git:
{{{git clone git://pd-anywhere.git.sourceforge.net/gitroot/pd-anywhere/pd-anywhere}}}
*[https://github.com/pd-projects/ pd-projects on github]
*[https://gitorious.org/search?q=puredata&commit=Search pd-project on Gitorious]
= See Also =
*[[GitWorkflows]]
*[[WorkingWithPdExtendedSources]]