Difference between revisions of "Installing Code::Blocks from source on RPM based distributions"
Daniel2000 (talk | contribs) (simplified the specfile) |
|||
Line 34: | Line 34: | ||
'''Use this as specfile:''' | '''Use this as specfile:''' | ||
− | + | ||
− | %define | + | %define req_wxgtk 2.6.0 |
− | %define _suse | + | %define _suse %(if [ -f /etc/SuSE-release ]; then echo 1; else echo 0; fi) |
− | + | Name: codeblocks | |
− | + | Version: 1.0 | |
− | Name: | + | Release: svn |
− | Version: | + | Summary: OpenSource Cross Platform Free C++ IDE |
− | Release: | + | Group: Development/Tools/IDE |
− | Summary: | + | License: GPL |
− | Group: | + | URL: https://www.codeblocks.org/ |
− | License: | + | Packager: Daniel Orb <danielorb2000@googlemail.com> |
− | URL: | + | Source: %{name}-%{version}-%{release}.tgz |
− | Packager: | + | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot |
− | Source: | + | Provides: codeblocks |
− | BuildRoot: | + | Requires: libgcc, libstdc++ |
− | Provides: | + | Requires: wxGTK >= %{req_wxgtk} |
− | Requires: | + | BuildRequires: wxGTK >= %{req_wxgtk}, wxGTK-devel >= %{req_wxgtk} |
− | + | BuildRequires: intltool, gcc-c++, make, gettext, autoconf, automake, libtool | |
− | + | BuildRequires: libstdc++, libstdc++-devel | |
− | Requires: | + | BuildRequires: zip |
− | BuildRequires: wxGTK >= %{req_wxgtk}, wxGTK-devel >= %{req_wxgtk} | + | BuildRequires: dos2unix |
− | BuildRequires: intltool | ||
− | |||
− | |||
− | |||
− | |||
− | BuildRequires: | ||
− | BuildRequires: | ||
− | |||
%if %_suse | %if %_suse | ||
− | + | BuildRequires: update-desktop-files | |
− | |||
− | BuildRequires: | ||
%endif | %endif | ||
− | |||
− | |||
− | |||
− | |||
− | |||
%define pkgdata %{_datadir}/%{name} | %define pkgdata %{_datadir}/%{name} | ||
Line 83: | Line 68: | ||
%prep | %prep | ||
− | %setup -n codeblocks | + | %setup -n codeblocks |
− | + | %{?suse_update_libdir:%{suse_update_libdir}} | |
− | + | %{?suse_update_config:%{suse_update_config -f}} | |
− | |||
− | |||
%build | %build | ||
Line 99: | Line 82: | ||
%post | %post | ||
− | + | if [ -x /usr/bin/update-mime-database ]; then | |
− | + | /usr/bin/update-mime-database "%{_datadir}/mime" | |
− | + | fi | |
+ | test -x /sbin/ldconfig && /sbin/ldconfig | ||
%preun | %preun | ||
− | + | if [ -x /usr/bin/update-mime-database ]; then | |
− | + | /usr/bin/update-mime-database "%{_datadir}/mime" | |
− | + | fi | |
%clean | %clean | ||
Line 126: | Line 110: | ||
%changelog | %changelog | ||
+ | * Mon Jan 2 2005 Daniel Orb <danielorb2000@googlemail.com> | ||
+ | - simplified the changes made before | ||
* Sun Jan 1 2005 Daniel Orb <danielorb2000@googlemail.com> | * Sun Jan 1 2005 Daniel Orb <danielorb2000@googlemail.com> | ||
- added distribution check (SuSE, Fedora, Mandriva/Mandrake) | - added distribution check (SuSE, Fedora, Mandriva/Mandrake) | ||
- added distribution specific Requires and BuildRequires | - added distribution specific Requires and BuildRequires | ||
- added run of update-mime-database if installed | - added run of update-mime-database if installed |
Revision as of 00:08, 2 January 2006
General instructions
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)
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 tgz archive named codeblocks-1.0-svn.tgz
tar -czf codeblocks-1.0-svn.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 req_wxgtk 2.6.0 %define _suse %(if [ -f /etc/SuSE-release ]; then echo 1; else echo 0; fi) 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++ Requires: wxGTK >= %{req_wxgtk} BuildRequires: wxGTK >= %{req_wxgtk}, wxGTK-devel >= %{req_wxgtk} BuildRequires: intltool, gcc-c++, make, gettext, autoconf, automake, libtool BuildRequires: libstdc++, libstdc++-devel BuildRequires: zip BuildRequires: dos2unix %if %_suse BuildRequires: update-desktop-files %endif %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 %configure %__make %install %makeinstall %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/gnome-mime-application-x-codeblocks.png %{_datadir}/mime-info/* %{_datadir}/mime/packages/codeblocks.xml %{_datadir}/pixmaps/codeblocks.png %{pkgdata}/* %changelog * Mon Jan 2 2005 Daniel Orb <danielorb2000@googlemail.com> - simplified the changes made before * 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