====== Installing Source Packages ====== ===== pkgsrc ===== [[http://www.netbsd.org/docs/software/packages.html|pkgsrc]] is used to build third-party software. This page describes how to use pkgsrc. Before diving in, you should be aware of a few things: * precompiled binary packages are available for many applications. This can save a lot of time and headaches. See [[.:installingbinarypackages|Installing Binary Packages]] for details. * a list of packages that are expected to build under Minix '[[.:..:developersguide:trackingcurrent|current]]' is available here: //[[http://git.minix3.org/?p=pkgsrc.git;a=blob;f=minix/limited_list.pbulk;hb=refs/heads/minix-master|/usr/pkgsrc/minix/limited_list.pbulk]]// Other packages either haven't been port to Minix or haven't been tested on Minix yet. * pkgsrc-current tracks minix-current. For best results, update the base system to [[.:..:developersguide:trackingcurrent|current]]. ===== Requirements ===== * 1 GB of hard disk space for the pkgsrc tree (as of April 8, 2013). Additional space is required to build software. * 512MB of RAM or more. Some applications such as gcc need more than 512MB of RAM to build. ==== Setting up pkgsrc on MINIX ==== Git is required to download the pkgsrc tree and GCC is required to compile software. # pkgin install scmgit-base binutils gcc44 To set up the pkgsrc tree: # cd /usr # make pkgsrc-create This is all that is needed to prepare the system to build software with pkgsrc. The MINIX installation comes pre-bootstrapped. Do NOT run the bootstrap script that comes with pkgsrc. ==== Updating the pkgsrc Tree ==== To update the pkgsrc tree in the future: # cd /usr # make pkgsrc-update This will download any changes (new versions of packages, patches, etc.). It is important to update your copy of the pkgsrc tree using this method, instead of //git pull//. This update method may perform additional steps, such as updating your //mk.conf// file. ==== Compiling a Package ==== All pkgsrc operations should be done with //bmake//. To build a package, //misc/figlet// in this example, you need to //cd// to that directory and do a //bmake install//. # cd /usr/pkgsrc/misc/figlet # bmake install This installs //figlet// in ///usr/pkg/bin//. ===== Additional Documentation ===== See the official [[http://www.netbsd.org/docs/pkgsrc/|pkgsrc guide]] for complete details.