|
|
| 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