Installing Code::Blocks from source on RPM based distributions

From Code::Blocks


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

Newer autotools versions

Setup RPM environment

This has to be installed before starting:

  • rpm-build

Non-root rpmbuild environment

cd
echo "%_topdir $HOME/rpm" >> .rpmmacros
mkdir rpm
cd rpm
mkdir SPECS SOURCES BUILD RPMS SRPMS

RPM_TOPDIR=`rpm --eval %{_topdir}`

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:

  1. wxGTK >= 2.6.0 and its devel package (see wxwidgets.org)
  2. wxGTK-xrc and its devel package (in some distributions included in the packages of point 1)

Build the wxGTK RPM from source

TODO

http://prdownloads.sourceforge.net/wxwindows/wxGTK-2.6.3.tar.gz

Install Subversion client

This has to be installed before starting:

Build Subversion RPM from source

TODO

http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz

Install Code::Blocks

Prepare the Source RPM

1. Download the Source RPM from www.codeblocks.org/downloads.shtml

Prepare SRPM package from SVN

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 to the directory $RPM_TOPDIR/SOURCES

sudo mv codeblocks-trunk-r$REVISION.tar.gz $RPM_TOPDIR/SOURCES

5. build the source RPM

rpmbuild -bs codeblocks.spec

Build the RPM package

1. Build the binary package

rpmbuild --rebuild codeblocks-1.0-***.src.rpm

This will create several packages in one of the architecture specific subdirectories (i386, x86_64, ppc, ...) of $RPM_TOPDIR/RPMS/.

These are:

  • codeblocks: main package
  • codeblocks-contrib: contrib plugins
  • codeblocks-devel: SDK headers
  • codeblocks-debuginfo: stripped debug information

Install the RPM package

Install as root the packages you want (usually codeblocks and codeblocks-contrib) and enjoy Code::Blocks!