GNU Source Release Collection

GSRC (GNU Source Release Collection) provides a simple way to install the latest officially released versions of GNU packages (and more) on an existing distribution, easily compiled from source, without disturbing the original system.

The aim is to make it easier to work with sources, to automate the download/build/install steps of source packages, to help with development and bug reporting, encourage the exploration of strange new software, and maintain a rolling release of the latest versions.

How to use it

Do this setup procedure once:
Grab the current package description files from the internet with "bzr checkout" or "brz checkout", (the python 3 version):

     $ bzr checkout --lightweight  bzr:// gsrc
        # (use "bzr checkout --lightweight" to download the latest revision only)


     $ cd gsrc/
     $ ./bootstrap                       # to create the configure script
     $ ./configure --prefix=$HOME/gnu    # --prefix is directory to install the compiled packages
                                         # Pick your --prefix by your wishes.
     $ source ./                 # This just sets some ENV variables and appends to PATH
                                         # and other variables to allow GSRC to work seamlessly.
                                         # Put this line in your .bashrc.
     $ make install                      # Installs the "gsrc" command itself and "info" docs.  

That is all that is necessary to set up the GSRC system. Everytime you wish to compile something in GSRC, first do

      $   bzr update            # to get all the latest changes to all packages 
                                # ("brz" is python3 name)

Now, try to compile and install a package. The software is pulled off the internet and built, with any prerequisites:

      $ make -C pkg/gnu/hello install

Now you can run the program you just installed with the command "hello". Simple.
Type "make help" to see a brief list of "make" commands.

Try building a package with multiple dependencies (they will be automatically compiled and installed first, as needed (if GSRC were complete; it is only partial).):

      $ make -C pkg/gnu/gnupg install

Another example, install ballandpaddle release:

      $ make -C pkg/gnu/ballandpaddle install

Packages are added and updated daily. Keep up to date with the latest packages:

      $ bzr update

A list of all the packages present in GSRC is available, gsrc/package-list.html


Documentation for GSRC is available online, as is documentation for most GNU software. You may also find the GSRC manual by running info gsrc or perhaps by looking at /usr/doc/gsrc/, /usr/local/doc/gsrc/, /usr/share/doc/gsrc/, or similar directories on your system.

Mailing lists

The only GSRC discussion list is bug-gsrc, and is used to discuss all aspects of GSRC, including enhancement requests, development discussion, problems, and bug reports. Some GNU programs don't actually compile, they need maintenance; you can help. There is also a read-only mail list announcing every commit, gsrc-commit, only of interest to GSRC developers and the obsessive-compulsive.

Announcements about GSRC and most other GNU software are made on info-gnu (archive).

Getting involved

Development of GSRC, and GNU in general, is a volunteer effort, and you can contribute. For information, please read How to help GNU. If you'd like to get involved, it's a good idea to join the discussion mailing list "bug-gsrc" (see above).

For development sources, bug and patch trackers, and other information, please see the GSRC project page at

The repository is available via 'bzr' with bzr checkout bzr:// gsrc

GSRC is currently being developed by Carl Hansen. Helpers are welcome. Please use the mailing lists for contact.


GSRC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.