Difference between revisions of "Installing Code::Blocks from source on RPM based distributions"
(to match Specfile) |
(→Compiling the CVS/SVN version: Updated specfile + adding svn) |
||
Line 16: | Line 16: | ||
3. The binary RPM should be in one of the subdirectories of /usr/src/packages/RPMS | 3. The binary RPM should be in one of the subdirectories of /usr/src/packages/RPMS | ||
− | === Compiling the CVS version === | + | === Compiling the CVS/SVN version === |
− | 1. You need a fresh CVS version, no ./bootstrap or anything else should be done before in this directory ! | + | 1. You need a fresh CVS/SVN version, no ./bootstrap or anything else should be done before in this directory ! |
2. add the directory codeblocks to an tar.gz archive named codeblocks-1.0-cvs.tar.gz | 2. add the directory codeblocks to an tar.gz archive named codeblocks-1.0-cvs.tar.gz | ||
Line 32: | Line 32: | ||
6. Install it and enjoy ! | 6. Install it and enjoy ! | ||
− | '''Use this as | + | '''Use this as specfile:''' |
− | Name: | + | %define _fedora %(if [ -f /etc/fedora-release ]; then echo 1; else echo 0; fi) |
− | Version: | + | %define _mandrake %(if [ -f /etc/mandrake-release ]; then echo 1; else echo 0; fi) |
− | Release: | + | %define _suse %(if [ -f /etc/SuSE-release ]; then echo 1; else echo 0; fi) |
− | Summary: | + | |
− | Group: | + | %define req_wxgtk 2.6.0 |
− | License: | + | |
− | URL: | + | Name: codeblocks |
− | Packager: | + | Version: 1.0 |
− | Source: | + | Release: svn |
− | BuildRoot: | + | Summary: OpenSource Cross Platform Free C++ IDE |
− | Provides: | + | Group: Development/Tools/IDE |
− | BuildRequires: zip | + | License: GPL |
− | BuildRequires: | + | URL: https://www.codeblocks.org/ |
− | + | Packager: Daniel Orb <danielorb2000@googlemail.com> | |
+ | Source: %{name}-%{version}%{release}.tgz | ||
+ | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot | ||
+ | Provides: codeblocks | ||
+ | Requires: libgcc, libstdc++ | ||
+ | |||
+ | %if %_fedora | ||
+ | Requires: wxGTK >= %{req_wxgtk} | ||
+ | BuildRequires: wxGTK >= %{req_wxgtk}, wxGTK-devel >= %{req_wxgtk} | ||
+ | BuildRequires: intltool | ||
+ | %endif | ||
+ | |||
+ | %if %_mandrake | ||
+ | Requires: libwxgtku2.6 >= %{req_wxgtk} | ||
+ | BuildRequires: libwxgtku2.6 >= %{req_wxgtk}, libwxgtku2.6-devel >= %{req_wxgtk} | ||
+ | BuildRequires: intltool | ||
+ | %endif | ||
+ | |||
+ | %if %_suse | ||
+ | Requires: wxGTK >= %{req_wxgtk} | ||
+ | BuildRequires: wxGTK >= %{req_wxgtk}, wxGTK-devel >= %{req_wxgtk} | ||
+ | BuildRequires: intltool, update-desktop-files | ||
+ | %endif | ||
+ | |||
+ | BuildRequires: gcc-c++, make, gettext | ||
+ | BuildRequires: libstdc++, libstdc++-devel, autoconf, automake, libtool | ||
+ | BuildRequires: zip | ||
+ | BuildRequires: dos2unix | ||
+ | |||
%define pkgdata %{_datadir}/%{name} | %define pkgdata %{_datadir}/%{name} | ||
%description | %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 | + | 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 | %prep | ||
− | %setup -n codeblocks | + | %setup -n codeblocks-1.0 |
+ | |||
+ | %if %_suse | ||
+ | %{?suse_update_libdir:%{suse_update_libdir}} | ||
+ | %{?suse_update_config:%{suse_update_config -f}} | ||
+ | %endif | ||
%build | %build | ||
Line 64: | Line 97: | ||
%install | %install | ||
%makeinstall | %makeinstall | ||
+ | |||
+ | %post | ||
+ | if [ -x /usr/bin/update-mime-database ]; then | ||
+ | /usr/bin/update-mime-database "%{_datadir}/mime" | ||
+ | fi | ||
+ | |||
+ | %preun | ||
+ | if [ -x /usr/bin/update-mime-database ]; then | ||
+ | /usr/bin/update-mime-database "%{_datadir}/mime" | ||
+ | fi | ||
%clean | %clean | ||
− | test -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" && | + | test -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" && %__rm -rf $RPM_BUILD_ROOT |
%files | %files | ||
Line 73: | Line 116: | ||
%{_bindir}/* | %{_bindir}/* | ||
− | |||
%{_libdir}/* | %{_libdir}/* | ||
%{_datadir}/application-registry/codeblocks.applications | %{_datadir}/application-registry/codeblocks.applications | ||
Line 81: | Line 123: | ||
%{_datadir}/mime/packages/codeblocks.xml | %{_datadir}/mime/packages/codeblocks.xml | ||
%{_datadir}/pixmaps/codeblocks.png | %{_datadir}/pixmaps/codeblocks.png | ||
+ | %{pkgdata}/* | ||
− | + | %changelog | |
− | + | * Sun Jan 1 2005 Daniel Orb <danielorb2000@googlemail.com> | |
+ | - added distribution check (SuSE, Fedora, Mandriva/Mandrake) | ||
+ | - added distribution specific Requires and BuildRequires | ||
+ | - added run of update-mime-database if installed |
Revision as of 17:10, 1 January 2006
General instructions
The build requirements in the specfile and the source RPM are set to a minimum because there are two different names of the wxGTK packages (wxGTK and wxGTK2). 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)
Compiling the Release Candidate 2
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
Compiling the CVS/SVN version
1. You need a fresh CVS/SVN version, no ./bootstrap or anything else should be done before in this directory !
2. add the directory codeblocks to an tar.gz archive named codeblocks-1.0-cvs.tar.gz
tar -czf codeblocks-1.0-cvs.tgz codeblocks
3. copy the archive in the directory /usr/src/packages/SOURCES and the Specfile to /usr/src/packages/SPECS/codeblocks.spec
4. build the binary package as root with
rpmbuild -bb /usr/src/packages/SPECS/codeblocks.spec
5. the package will be in one of the subdirectories of /usr/src/packages/RPMS/
6. Install it and enjoy !
Use this as specfile:
%define _fedora %(if [ -f /etc/fedora-release ]; then echo 1; else echo 0; fi) %define _mandrake %(if [ -f /etc/mandrake-release ]; then echo 1; else echo 0; fi) %define _suse %(if [ -f /etc/SuSE-release ]; then echo 1; else echo 0; fi) %define req_wxgtk 2.6.0 Name: codeblocks Version: 1.0 Release: svn 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}%{release}.tgz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Provides: codeblocks Requires: libgcc, libstdc++ %if %_fedora Requires: wxGTK >= %{req_wxgtk} BuildRequires: wxGTK >= %{req_wxgtk}, wxGTK-devel >= %{req_wxgtk} BuildRequires: intltool %endif %if %_mandrake Requires: libwxgtku2.6 >= %{req_wxgtk} BuildRequires: libwxgtku2.6 >= %{req_wxgtk}, libwxgtku2.6-devel >= %{req_wxgtk} BuildRequires: intltool %endif %if %_suse Requires: wxGTK >= %{req_wxgtk} BuildRequires: wxGTK >= %{req_wxgtk}, wxGTK-devel >= %{req_wxgtk} BuildRequires: intltool, update-desktop-files %endif BuildRequires: gcc-c++, make, gettext BuildRequires: libstdc++, libstdc++-devel, autoconf, automake, libtool BuildRequires: zip BuildRequires: dos2unix %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-1.0 %if %_suse %{?suse_update_libdir:%{suse_update_libdir}} %{?suse_update_config:%{suse_update_config -f}} %endif %build ./bootstrap %configure %__make %install %makeinstall %post if [ -x /usr/bin/update-mime-database ]; then /usr/bin/update-mime-database "%{_datadir}/mime" fi %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/gnome-mime-application-x-codeblocks.png %{_datadir}/mime-info/* %{_datadir}/mime/packages/codeblocks.xml %{_datadir}/pixmaps/codeblocks.png %{pkgdata}/* %changelog * Sun Jan 1 2005 Daniel Orb <danielorb2000@googlemail.com> - added distribution check (SuSE, Fedora, Mandriva/Mandrake) - added distribution specific Requires and BuildRequires - added run of update-mime-database if installed