-#TODO
-# - snap build from svn
#
-
-%bcond_with snap # build snap instead of release
-
-%if %{with snap}
-%define _svn svn5082
-%define _snap 20080531
-%endif
+# Conditional build:
+%bcond_with gtk2 # GTK+ 2.x instead of 3.x
Summary: An open source, cross platform, free C++ IDE
Summary(pl.UTF-8): Wieloplatformowe, darmowe IDE do C++ o otwartych źródłach
Name: codeblocks
-%if %{with snap}
-Version: 1.0
-Release: %{_snap}%{_svn}
-%else
-Version: 8.02
-Release: 1
-%endif
+%define snap svn13361
+Version: 20.03
+Release: 1.%{snap}.1
License: GPL v3
Group: X11/Development/Tools
-%if %{with snap}
-Source0: %{name}-%{_snap}.tar.gz
-%else
-Source0: http://dl.sourceforge.net/codeblocks/%{name}-%{version}-src.tar.bz2
-# Source0-md5: ac15b4b3de50d7650c2f7a8dbcb30f88
-%endif
+#Source0: http://download.sourceforge.net/codeblocks/%{name}-%{version}%{snap}.tar.xz
+Source0: %{name}-%{version}%{snap}.tar.xz
+# Source0-md5: 4f856967ec38135cebc09adc8db93294
Patch0: %{name}-FHS-plugins.patch
-Patch1: %{name}-desktop.patch
+Patch1: no-parallel.patch
Patch2: %{name}-ac.patch
-Patch3: %{name}-pwd.patch
URL: http://www.codeblocks.org/
+BuildRequires: astyle-devel >= 3.0
BuildRequires: autoconf >= 2.50
BuildRequires: automake
+BuildRequires: boost-devel
BuildRequires: bzip2-devel
-BuildRequires: dos2unix
-BuildRequires: libtool
+BuildRequires: fontconfig-devel
+BuildRequires: gamin-devel
+BuildRequires: glib2-devel >= 2.0
+%{?with_gtk2:BuildRequires: gtk+2-devel >= 1:2.0.0}
+%{!?with_gtk2:BuildRequires: gtk+3-devel >= 3.0.0}
+BuildRequires: libstdc++-devel >= 6:4.7
+BuildRequires: libtool >= 2:2
BuildRequires: pkgconfig
BuildRequires: sed >= 4.0
+# pkgconfig(squirrel)
+BuildRequires: squirrel-devel >= 2.2.5
+BuildRequires: hunspell-devel
BuildRequires: unixODBC-devel
-BuildRequires: wxGTK2-unicode-devel >= 2.8.0
+BuildRequires: tar >= 1:1.22
+# pkgconfig(tinyxml)
+BuildRequires: tinyxml-devel >= 2.6.2-8
+%{?with_gtk2:BuildRequires: wxGTK2-unicode-devel >= 2.8.12}
+%{!?with_gtk2:BuildRequires: wxGTK3-unicode-devel >= 2.8.12}
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xz
BuildRequires: zip
BuildRequires: zlib-devel
Requires(post,postun): desktop-file-utils
-Requires(post,postun): gtk+2
+Requires(post,postun): gtk-update-icon-cache
Requires(post,postun): shared-mime-info
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _pluginsdir %{_libdir}/%{name}/plugins
-
%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,
instalować ten pakiet tylko w celu pisania wtyczek do Code::Blocks.
%prep
-%if %{with snap}
-%setup -q -n %{name}-%{_snap}
-%else
-%setup -q
-%endif
-find . -type f -and -not -name "*.cpp" -and -not -name "*.h" -and -not -name "*.png" -and -not -name "*.bmp" -and -not -name "*.c" -and -not -name "*.cxx" -and -not -name "*.ico" | sed "s/.*/\"\\0\"/" | xargs dos2unix
-
+%setup -q -n %{name}-%{version}%{snap}
%patch0 -p1
%patch1 -p1
%patch2 -p1
-%patch3 -p1
-
-# fix the dir, where plugins are installed
-for p in astyle autosave classwizard codecompletion compilergcc debuggergdb \
-defaultmimehandler openfileslist projectsimporter scriptedwizard todo xpmanifest
-do
- sed -i 's|$(pkgdatadir)/plugins|@libdir@/@PACKAGE@/plugins|' src/plugins/$p/Makefile.*
-done
-
-for p in AutoVersioning BrowseTracker ThreadSearch byogames cb_koders \
-codesnippets codestat dragscroll envvars help_plugin keybinder lib_finder \
-profiler regex_testbed source_exporter symtab wxSmith wxSmithContribItems
-do
- sed -i 's|$(pkgdatadir)/plugins|@libdir@/@PACKAGE@/plugins|' src/plugins/contrib/$p/Makefile.*
-done
-sed -i 's|$(pkgdatadir)/plugins|@libdir@/@PACKAGE@/plugins|' src/plugins/contrib/wxSmith/plugin/Makefile.*
-
-#hardcode libdir, continue of patch0
+# hardcode libdir, continue of patch0
sed -i 's|@libdir@|%{_libdir}|' src/sdk/configmanager.cpp
-# remove execute bits from source files
-find src/plugins/contrib/regex_testbed -type f -exec chmod a-x {} ';'
-find src/plugins/compilergcc -type f -exec chmod a-x {} ';'
-
# fix version inside the configure script
-sed -i 's/1\.0svn/%{version}/g' revision.m4
+sed -i 's/svn[0-9]\+//g' revision.m4
%build
-%if %{with snap}
-chmod a+x update_revision.sh
-./update_revision.sh
-%endif
%{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
+#CXXFLAGS="%{rpmcxxflags} -std=c++11"
%configure \
+ --with-boost-system=boost_system \
+ --with-contrib-plugins=all \
+%if %{with gtk2}
--with-wx-config=wx-gtk2-unicode-config \
- --with-contrib-plugins=all
+%else
+ --with-wx-config=wx-gtk3-unicode-config
+%endif
%{__make}
DESTDIR=$RPM_BUILD_ROOT \
mimeicondir=%{_iconsdir}/hicolor/48x48/mimetypes
-rm -f $RPM_BUILD_ROOT%{_pluginsdir}/*.la
+# loadable plugins
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/codeblocks/plugins/*.la
+# private libraries
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/codeblocks/wxContribItems/*.la
+# obsoleted by pkg-config
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
%clean
rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%doc AUTHORS BUGS COMPILERS README TODO ChangeLog
%attr(755,root,root) %{_bindir}/cb_share_config
-%attr(755,root,root) %{_bindir}/codeblocks
-%attr(755,root,root) %{_bindir}/codesnippets
%attr(755,root,root) %{_bindir}/cb_console_runner
+%attr(755,root,root) %{_bindir}/codeblocks
%attr(755,root,root) %{_libdir}/libwxsmithlib.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libwxsmithlib.so.0
%attr(755,root,root) %{_libdir}/libcodeblocks.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libcodeblocks.so.0
%{_desktopdir}/codeblocks.desktop
-%{_pixmapsdir}/*.png
-%{_iconsdir}/hicolor/48x48/mimetypes/*.png
+%{_pixmapsdir}/codeblocks.png
+%{_iconsdir}/hicolor/48x48/mimetypes/application-x-codeblocks*.png
+%{_metainfodir}/codeblocks.appdata.xml
+%{_metainfodir}/codeblocks-contrib.metainfo.xml
%{_datadir}/mime/packages/codeblocks.xml
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/scripts
%{_datadir}/%{name}/scripts/*
%{_datadir}/%{name}/*.zip
%{_datadir}/%{name}/*.txt
+%{_datadir}/%{name}/SpellChecker
+%{_datadir}/%{name}/compilers
%{_datadir}/%{name}/icons
%{_datadir}/%{name}/images
%{_datadir}/%{name}/lexers
%{_datadir}/%{name}/lib_finder
%{_datadir}/%{name}/templates
%dir %{_libdir}/%{name}
-%dir %{_pluginsdir}
-%attr(755,root,root) %{_pluginsdir}/*.so
-%{_mandir}/man1/*.1*
+%dir %{_libdir}/%{name}/plugins
+%attr(755,root,root) %{_libdir}/%{name}/plugins/*.so
+%dir %{_libdir}/%{name}/wxContribItems
+%attr(755,root,root) %{_libdir}/%{name}/wxContribItems/libwx*.so.*
+%{_mandir}/man1/cb_console_runner.1*
+%{_mandir}/man1/cb_share_config.1*
+%{_mandir}/man1/codeblocks.1*
+%{_mandir}/man1/codesnippets.1*
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libcodeblocks.so
%attr(755,root,root) %{_libdir}/libwxsmithlib.so
-%{_libdir}/libcodeblocks.la
-%{_libdir}/libwxsmithlib.la
+%attr(755,root,root) %{_libdir}/%{name}/wxContribItems/libwx*.so
+%{_pkgconfigdir}/cb_wx*.pc
%{_pkgconfigdir}/codeblocks.pc
+%{_pkgconfigdir}/wxsmith*.pc
%{_includedir}/codeblocks
+%{_includedir}/wxsmith