Installing Code::Blocks from source on RPM based distributions
TODO: the builds should not be done as root
Install Requirements
Install Developer Tools
This has to be installed before starting:
- zip
- update-desktop-files (only on SUSE)
- make
- gettext
- autoconf >= 2.5
- automake >= 1.7
- libtool >= 1.4
- m4
- intltool
- gcc-c++
- libstdc++-devel
Setup RPM environment
This has to be installed before starting:
- rpm-build
Install wxWidgets 2.6.x
The build requirements in the source RPM are set to a minimum. So it isn't checked whether wxGTK is installed or not. So you have to take a look at it yourself.
This has to be installed:
- wxGTK >= 2.6.0 and its devel package (see wxwidgets.org)
- wxGTK-xrc and its devel package (in some distributions included in the packages of point 1)
Install Subversion client
This has to be installed before starting:
- subversion >= 1.4.0, (see subversion.tigris.org)
Install Code::Blocks
Prepare the SVN version
1. You need to get the latest sources from SVN www.codeblocks.org/source_code.shtml
2. go into trunk, if you haven't already done it.
3. run these three commands in this order
./bootstrap ./configure --enable-contrib make dist
the last one will create a .tar.gz archive that contains the sources.
4. copy the archive as root to the directory /usr/src/packages/SOURCES
sudo mv codeblocks-trunk-r$REVISION.tar.gz /usr/src/packages/SOURCES
5. build the source RPM
rpmbuild -bs codeblocks.spec
Prepare the Release Candidate
1. Download the source RPM from www.codeblocks.org/downloads.shtml
Build the package
1. Build the binary package as root
rpmbuild --rebuild codeblocks-1.0-***.src.rpm
This will create several packages in one of the architecture specific subdirectories (i386, x86_64, ppc, ...) of /usr/src/redhat/RPMS/.
These are:
- codeblocks: main package
- codeblocks-contrib: contrib plugins
- codeblocks-devel: SDK headers
- codeblocks-debuginfo: stripped debug information
Install the package
Install the packages you want (usually codeblocks and codeblocks-contrib) and enjoy Code::Blocks!