GNU's Not Unix Source Release Collection,
GNU's Not Unix SRC,
GSRC

GSRC (GNU Source Release Collection) provides a simple way to install the latest released versions of GNU packages (and some other free software) on an running system, easily compiled from source, without disturbing the original system and its package management.

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, work with the source code in an efficient manner, encourage the exploration of strange new software, and maintain a rolling release of the latest versions. It alsos allows one to explore new software packages with less hassle.

How to use it

You may install gsrc using "git", (recommended), or the alternative "bzr/brz". (Downloading GSRC from a tar file is no longer offered, since it changes so often.) Grab the current package description file collection from the internet:

   git clone --depth=1  https://git.savannah.gnu.org/git/gsrc.git
Or with "bzr checkout"
     $ bzr checkout --lightweight  bzr://bzr.savannah.gnu.org/gsrc/trunk/ gsrc
        # (use "bzr checkout --lightweight" to download the latest revision only

Then

     $ cd gsrc/
     $ ./bootstrap                       # to create the configure script
     $ ./configure --prefix=$HOME/gnu    # --prefix is directory where to install the compiled packages
                                         # Pick your --prefix by your wishes
                                         # Common choices include /opt/gsrc/ for multiuser system.
     $ source ./setup.sh                 # 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

 
      $   git pull    
or
      $   bzr update 
to get all the latest changes to all package descriptions in GSRC.

Now you can try to compile and install a package. The software is pulled off the internet and built, with any prerequisites in GSRC also built (mostly):

      $ 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. (Dependencies will be automatically compiled and installed first, as needed (GSRC is not complete; it is only partial.)):

      $ make -C pkg/gnu/gnupg install

Another example, install ballandpaddle release:

      $ make -C pkg/gnu/ballandpaddle install

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

      $ git pull
or
      $ bzr update

A list of all ~1200 packages present in GSRC is package-list.html

Documentation

Manual for GSRC is available online, as is documentation for most GNU software. On your local machine find the GSRC manual by running info gsrc, or perhaps by looking in wherever.you.set.your.prefix.for.gsrc/share/doc.

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. Low volume. Rants are ok. Some GNU and GSRC 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 (its archive).

Getting involved

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

For development sources, bug and patch trackers, and other information, please see the GSRC project page savannah.gnu.org/projects/gsrc. GSRC is currently being maintained by Carl Hansen. Helpers are welcome. Please use the mailing lists for contact.

Licensing

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.