|
|
Line 1: |
Line 1: |
| [[Category:Installing Code::Blocks]] | | [[Category:Installing Code::Blocks]] |
| [[Category:Installing Code::Blocks from source]] | | [[Category:Installing Code::Blocks from source]] |
− | === General instructions === | + | === Compiling the SVN version === |
| | | |
− | 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 before starting: |
| + | * wxGTK >= 2.6.0 and its devel package, |
| + | * zip, |
| + | * subversion, |
| + | * update-desktop-files, |
| + | * make, |
| + | * gettext, |
| + | * autoconf >= 2.5, |
| + | * automake >= 1.7, |
| + | * libtool >= 1.4, |
| + | * m4, |
| + | * intltool, |
| + | * gcc-c++ and |
| + | * libstdc++-devel |
| | | |
− | This has to be installed:
| + | 1. You need to get the latest sources from SVN (described here [[Compiling_Code::Blocks_in_Linux_(applies_to_all_distros)#Getting_the_latest_sources_from_SVN]]) |
− | # wxGTK and its devel package | |
− | # wxGTK-xrc and its devel package (in some distributions included in the packages of point 1)
| |
| | | |
− | === Compiling the Release Candidate 2 ===
| + | 2. go into ''trunk'', if you haven't already done it. |
| | | |
− | 1. Download the source RPM from [https://www.codeblocks.org/downloads.shtml www.codeblocks.org/downloads.shtml]
| + | 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. |
| | | |
− | 2. Build the binary package as root
| + | 4. copy the archive as root to the directory /usr/src/packages/SOURCES |
− | rpmbuild --rebuild codeblocks-1.0-rc2.src.rpm | + | sudo mv codeblocks-trunk-r$REVISION.tar.gz /usr/src/packages/SOURCES |
| | | |
− | 3. The binary RPM should be in one of the subdirectories of /usr/src/packages/RPMS
| + | 5. build the binary packages as root with |
| + | sudo rpmbuild -bb codeblocks.spec |
| + | This will create several packages in one of the architecture specific subdirectories (i586, x86_64, ...) of /usr/src/packages/RPMS/. |
| + | These are: |
| | | |
− | === Compiling the CVS/SVN version ===
| + | * codeblocks: main package |
| + | * codeblocks-contrib: contrib plugins |
| + | * codeblocks-devel: SDK headers |
| + | * codeblocks-debuginfo: stripped debug information |
| | | |
− | 1. You need a fresh CVS/SVN version (described here [[Compiling_Code::Blocks_in_Linux_(applies_to_all_distros)#Getting_the_latest_sources_from_SVN]], but don't cd into the directory trunk), no ./bootstrap or anything else should be done before in this directory !
| + | 6. Install the packages you want (usually codeblocks and codeblocks-contrib) and enjoy Code::Blocks! |
| | | |
− | 2. Rename the directory ''trunk'' to ''codeblocks''. Stay in the directory above ''codeblocks''. | + | === Compiling the Release Candidate 2 === |
| | | |
− | 3. Get SVN revision number. You can see it in the last line after checking out (the number after "Revision:") or SVN with:
| + | 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. |
− | svn info codeblocks/ | grep Revision | cut -c 11-
| |
| | | |
− | 4. add the directory codeblocks to an tgz archive named codeblocks-1.0-svn.$SVNREVISION.tgz (replace $SVNREVISION with the number you got)
| + | This has to be installed: |
− | tar -czf codeblocks-1.0_0.svn.$SVNREVISION.tgz codeblocks
| + | # wxGTK and its devel package |
| + | # wxGTK-xrc and its devel package (in some distributions included in the packages of point 1) |
| | | |
− | 5. copy the archive as root to the directory /usr/src/packages/SOURCES
| + | 1. Download the source RPM from [https://www.codeblocks.org/downloads.shtml www.codeblocks.org/downloads.shtml] |
| | | |
− | 6. copy the Specfile beneath, add the SVN revision number behind "_svnrev" (between "_svnrev" and the number has to be at least one space character) in the first line and save it as root to /usr/src/packages/SPECS/codeblocks.spec (you can name the specfile however you want)
| + | 2. Build the binary package as root |
| + | rpmbuild --rebuild codeblocks-1.0-rc2.src.rpm |
| | | |
− | 7. build the binary package as root with
| + | 3. The binary RPM should be in one of the subdirectories of /usr/src/packages/RPMS |
− | rpmbuild -bb /usr/src/packages/SPECS/codeblocks.spec
| |
− | | |
− | 8. the package will be in one of the subdirectories of /usr/src/packages/RPMS/
| |
− | | |
− | 9. Install it and enjoy Code::Blocks!
| |
− | | |
− | '''Use this as specfile:'''
| |
− | | |
− | %define _svnrev
| |
− | %define req_wxgtk 2.6.0
| |
− | %define _fedora %(if [ -f /etc/fedora-release ]; then echo 1; else echo 0; fi)
| |
− | %define _suse %(if [ -f /etc/SuSE-release ]; then echo 1; else echo 0; fi)
| |
− | %define _mandriva %(if [ -f /etc/mandrake-release ]; then echo 1; else echo 0; fi)
| |
− | %define _version 1.0_0.svn.%{_svnrev}
| |
− | %define _rel 0
| |
− | %define _release %{_rel}
| |
− |
| |
− |
| |
− | %if %_suse
| |
− | %define _suse_version %(grep VERSION /etc/SuSE-release|cut -f3 -d" ")
| |
− | %define _suse_vernum %(echo "%_suse_version"|tr -d '.')
| |
− | %define _release %{_rel}.suse%{_suse_vernum}
| |
− | %define _distribution SuSE Linux %_suse_version
| |
− | %define _sysconfdir /etc%{_prefix}
| |
− | %endif
| |
− | %if %_mandriva
| |
− | %define _mandriva_version %(cat /etc/mandriva-release|cut -f4 -d" ")
| |
− | %define _mandriva_vernum %(echo "%_mandriva_version"|tr -d '.')
| |
− | %define _release %{_rel}.mdk%{_mandriva_vernum}
| |
− | %define _distribution %(cat /etc/mandriva-release|cut -f1-4 -d" ")
| |
− | %endif
| |
− | %if %_fedora
| |
− | %define _release %{_rel}.fc+rh
| |
− | %define _distribution %(cat /etc/redhat-release)
| |
− | %endif
| |
− |
| |
− |
| |
− | Name: codeblocks
| |
− | Version: %{_version}
| |
− | Release: %{_release}
| |
− | Summary: OpenSource Cross Platform Free C++ IDE
| |
− | Group: Development/Tools/IDE
| |
− | License: GPL
| |
− | URL: https://www.codeblocks.org/
| |
− | Packager: Daniel Orb <danielorb2000@googlemail.com>
| |
− | Source: %{name}-%{version}.tgz
| |
− | BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
| |
− | Provides: codeblocks
| |
− | Requires: libgcc, libstdc++
| |
− | %if ! %_mandriva
| |
− | Requires: wxGTK >= %{req_wxgtk}
| |
− | conflicts: wxGTK = 2.6.2-0.3.1.daniel2000.fc4
| |
− | BuildRequires: wxGTK >= %{req_wxgtk}, wxGTK-devel >= %{req_wxgtk}
| |
− | %else
| |
− | Requires: wxGTK2.6 >= %{req_wxgtk}
| |
− | BuildRequires: wxGTK2.6 >= %{req_wxgtk}, wxgtku-devel >= %{req_wxgtk}
| |
− | %endif
| |
− | BuildRequires: intltool, gcc-c++, make, gettext, autoconf, automake, libtool
| |
− | BuildRequires: libstdc++, libstdc++-devel
| |
− | BuildRequires: zip
| |
− | BuildRequires: dos2unix
| |
− |
| |
− | %if %_suse
| |
− | BuildRequires: update-desktop-files
| |
− | %endif
| |
− | %{?_distribution:Distribution:%_distribution}
| |
− | %define pkgdata %{_datadir}/%{name}
| |
− |
| |
− | %description
| |
− | Code::Blocks is a free C++ IDE built specifically to meet the most demanding needs of its users. It was designed, right from the start, to be extensible and configurable.
| |
− |
| |
− | %prep
| |
− |
| |
− | %setup -n codeblocks
| |
− |
| |
− | %{?suse_update_libdir:%{suse_update_libdir}}
| |
− | %{?suse_update_config:%{suse_update_config -f}}
| |
− |
| |
− | %build
| |
− | ./bootstrap
| |
− | CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
| |
− | CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
| |
− | FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
| |
− | ./configure \
| |
− | '--prefix=%{_prefix}' \
| |
− | '--exec-prefix=%{_exec_prefix}' \
| |
− | '--bindir=%{_bindir}' \
| |
− | '--sbindir=%{_sbindir}' \
| |
− | '--sysconfdir=/etc' \
| |
− | '--datadir=%{_datadir}' \
| |
− | '--includedir=%{_includedir}' \
| |
− | '--libdir=%{_libdir}' \
| |
− | '--libexecdir=%{_libexecdir}' \
| |
− | '--localstatedir=/var' \
| |
− | '--sharedstatedir=%{_sharedstatedir}' \
| |
− | '--mandir=%{_mandir}' \
| |
− | '--infodir=%{_infodir}' \
| |
− | '--enable-contrib'
| |
− | %__make
| |
− |
| |
− | %install
| |
− | rm -rf $RPM_BUILD_ROOT
| |
− | make DESTDIR=$RPM_BUILD_ROOT install
| |
− |
| |
− | %post
| |
− | if [ -x /usr/bin/update-mime-database ]; then
| |
− | /usr/bin/update-mime-database "%{_datadir}/mime"
| |
− | fi
| |
− | test -x /sbin/ldconfig && /sbin/ldconfig
| |
− |
| |
− | %preun
| |
− | if [ -x /usr/bin/update-mime-database ]; then
| |
− | /usr/bin/update-mime-database "%{_datadir}/mime"
| |
− | fi
| |
− |
| |
− | %clean
| |
− | test -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" && %__rm -rf $RPM_BUILD_ROOT
| |
− |
| |
− | %files
| |
− | %defattr(-,root,root)
| |
− | %doc README COPYING AUTHORS BUGS COMPILERS TODO NEWS ChangeLog
| |
− |
| |
− | %{_bindir}/*
| |
− | %{_libdir}/*
| |
− | %{_datadir}/application-registry/codeblocks.applications
| |
− | %{_datadir}/applications/codeblocks.desktop
| |
− | %{_datadir}/icons/gnome/48x48/mimetypes/*
| |
− | %{_datadir}/mime-info/*
| |
− | %{_datadir}/mime/packages/codeblocks.xml
| |
− | %{_datadir}/pixmaps/codeblocks.png
| |
− | %{pkgdata}/*
| |
− |
| |
− | %changelog
| |
Compiling the SVN version
This has to be installed before starting:
- wxGTK >= 2.6.0 and its devel package,
- zip,
- subversion,
- update-desktop-files,
- make,
- gettext,
- autoconf >= 2.5,
- automake >= 1.7,
- libtool >= 1.4,
- m4,
- intltool,
- gcc-c++ and
- libstdc++-devel
1. You need to get the latest sources from SVN (described here Compiling_Code::Blocks_in_Linux_(applies_to_all_distros)#Getting_the_latest_sources_from_SVN)
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 binary packages as root with
sudo rpmbuild -bb codeblocks.spec
This will create several packages in one of the architecture specific subdirectories (i586, x86_64, ...) of /usr/src/packages/RPMS/.
These are:
- codeblocks: main package
- codeblocks-contrib: contrib plugins
- codeblocks-devel: SDK headers
- codeblocks-debuginfo: stripped debug information
6. Install the packages you want (usually codeblocks and codeblocks-contrib) and enjoy Code::Blocks!
Compiling the Release Candidate 2
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 and its devel package
- wxGTK-xrc and its devel package (in some distributions included in the packages of point 1)
1. Download the source RPM from www.codeblocks.org/downloads.shtml
2. Build the binary package as root
rpmbuild --rebuild codeblocks-1.0-rc2.src.rpm
3. The binary RPM should be in one of the subdirectories of /usr/src/packages/RPMS