File glibmm2.spec of Package glibmm2

#
# spec file for package glibmm2 (Version 2.18.1)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           glibmm2
%define _name glibmm
BuildRequires:  gcc-c++
BuildRequires:  gtk2-devel
BuildRequires:  libsigc++2-devel
Version:        2.18.1
Release:        2
Group:          System/Libraries
License:        LGPL v2.1 or later
Summary:        C++ Interface for GLib2
Url:            http://www.gtkmm.org/
Source:         ftp://ftp.gnome.org/pub/GNOME/sources/%{_name}/2.12/%{_name}-%{version}.tar.bz2
Patch0:         glibmm2-includes.patch
# PATCH-FIX-UPSTREAM glibmm2-bgo555743.diff - bgo#555743 - hfiguiere@novell.com
Patch1:         glibmm2-bgo555743.diff
AutoReqProv:    on
Provides:       glibmm24 = %{version}
Obsoletes:      glibmm24
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Gtkmm provides a C++ interface to the GTK+ GUI library. glibmm24 wraps
GLib 2. Highlights include typesafe callbacks, widgets extensible via
inheritance, and a comprehensive set of widget classes that can be
freely combined to quickly create complex user interfaces.



Authors:
--------
    Murray Cumming <murrayc@usa.net>
    Daniel Elstner <daniel.elstner@gmx.net>
    Karl Nelson <kenelson@ece.ucdavis.edu>
    Tero Pulkkinen <terop@modeemi.cs.tut.fi>
    Elliot Lee <sopwith@redhat.com>
    Phil Dawes <P.L.Dawes-CSSE94@cs.bham.ac.uk>
    Erik Andersen <andersee@debian.org>
    Bibek Sahu <scorpio@dodds.net>
    Mirko Streckenbach
    Havoc Pennington <hp@pobox.com>
    Guillaume Laurent <glaurent@telegraph-road.org>
    Todd Dukes <tdukes@ibmoto.com>
    Peter Lerner <peter.lerner@bnbt.de>
    Herbert Valerio Riedel <hvr@gnu.org>

%package devel
License:        LGPL v2.1 or later
Group:          Development/Libraries/C and C++
Summary:        C++ Interface for GLib2
Requires:       %{name} = %{version} glib2-devel libsigc++2-devel libstdc++-devel
Provides:       glibmm24-devel = %{version}
Obsoletes:      glibmm24-devel

%description devel
Gtkmm provides a C++ interface to the GTK+ GUI library. glibmm24 wraps
GLib 2. Highlights include typesafe callbacks, widgets extensible via
inheritance and a comprehensive set of widget classes that can be
freely combined to quickly create complex user interfaces.



Authors:
--------
    Murray Cumming <murrayc@usa.net>
    Daniel Elstner <daniel.elstner@gmx.net>
    Karl Nelson <kenelson@ece.ucdavis.edu>
    Tero Pulkkinen <terop@modeemi.cs.tut.fi>
    Elliot Lee <sopwith@redhat.com>
    Phil Dawes <P.L.Dawes-CSSE94@cs.bham.ac.uk>
    Erik Andersen <andersee@debian.org>
    Bibek Sahu <scorpio@dodds.net>
    Mirko Streckenbach
    Havoc Pennington <hp@pobox.com>
    Guillaume Laurent <glaurent@telegraph-road.org>
    Todd Dukes <tdukes@ibmoto.com>
    Peter Lerner <peter.lerner@bnbt.de>
    Herbert Valerio Riedel <hvr@gnu.org>

%prep
%setup -q -n %{_name}-%{version}
%patch0
%patch1 -p0

%build
# touch doc files to not cause their rebuild.
# comment these 3 line when you don't patch any source file
# like in glibmm2-bgo555743.diff
touch docs/reference/html/index.html
touch docs/reference/xml/index.xml
touch docs/reference/glibmm-2.4.devhelp
#
autoreconf -f -i
# needed for glibmm-2.12.2:
export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure
make %{?jobs:-j%jobs}

%install
make DESTDIR=$RPM_BUILD_ROOT gtkmm_docdir=%{_docdir}/%{name}/docs glibmm_docdir=%{_docdir}/%{name} install
rm $RPM_BUILD_ROOT/%{_libdir}/*.*a
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}
cp -r AUTHORS COPYING ChangeLog INSTALL NEWS README $RPM_BUILD_ROOT%{_docdir}/%{name}
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}/tests
cp tests//glibmm_value/{Makefile,*.cc} $RPM_BUILD_ROOT%{_docdir}/%{name}/tests

%clean
rm -rf $RPM_BUILD_ROOT

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%files
%defattr (-, root, root)
%doc %dir %{_docdir}/%{name}
%doc %{_docdir}/%{name}/AUTHORS
%doc %{_docdir}/%{name}/COPYING
%doc %{_docdir}/%{name}/ChangeLog
%doc %{_docdir}/%{name}/INSTALL
%doc %{_docdir}/%{name}/NEWS
%doc %{_docdir}/%{name}/README
%{_libdir}/*.so.*

%files devel
%defattr (-, root, root)
%doc %{_docdir}/%{name}/docs
%doc %{_datadir}/devhelp
%doc %{_docdir}/%{name}/examples
%doc %{_docdir}/%{name}/tests
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%{_includedir}/*
%{_datadir}/aclocal/*.m4
%{_libdir}/glibmm-2.4
%{_libdir}/giomm-2.4

%changelog
* Fri Nov 28 2008 hfiguiere@suse.de
- Add patch glibmm2-bgo555743.diff
  + fix warnings in installed header. bgo#555743
* Wed Oct 22 2008 maw@suse.de
- Update to version 2.18.1:
  + Bugs fixed: bgo#506410, bgo#529496, bgo#539891, bgo#555576,
  bgo#556315, and bgo#556387.
* Tue Sep 23 2008 maw@suse.de
- Update to version 2.18.0:
  + Bug fixed: bgo#550789.
* Fri Sep 12 2008 maw@suse.de
- Update to version 2.17.3:
  + API changes:
  * Glib::Tree (wrapper around GNode) renamed to Glib::NodeTree
  to avoid confusion with GTree
  * Pass the node to the traversal the callback
  * Move TraverseFlags inside the NodeTree class
  + New API:
  * Added the drive_eject_button signal
  * Bugs fixed: bgo#423990, bgo#529496,  bgo#523043, and
  bgo#506410.
* Mon Aug 11 2008 maw@suse.de
- Update to version 2.17.1:
  + New API:
  * Gio::File: make_directory_with_parents(), query_file_type(),
  and monitor()
  * Gio::FileEnumerator: get_container()
  * Gio::Mount: guess_content_type() and
  guess_content_type_finish()
  * Gio:ThemedIcon: prepend_name()
  * Gio::Volume: get_activation_root()
  + Bug Fixes: bgo#512348, bgo#538803, bgo#540656, bgo#540875,
  bgo#542929, bgo#543292
  + Fix AppLaunchContext::get_display() and
  AppLaunchContext::get_startup_notify_id() to use a list of
  Gio::File, not filepath string; properly documented we know
  that this is correct; it's an API break but this function
  could nothave worked before
  * Added Keyfile example.
* Mon Jun 30 2008 maw@suse.de
- Update to version 2.17.0:
  + Added copy constructor and assignment operator, made GDate
  constructor visible
  + Added Glib::Tree, a wrapper for GNode, providing an N-ary tree
  container, more or less like a standard C++ container
  + bgo#529648 - give helpful warning message when library user
  forgets to initialize the library
  + bgo#529533 - Fix bug that prevented for Gio::Mount, Gio::Drive,
  and Gio::Volume from being wrapped for some backend
  implementations.
* Sun May 18 2008 aj@suse.de
- Do not BuildRequire devhelp.
* Tue Apr 01 2008 maw@suse.de
- Update to version 2.16.1:
  + Reference-counting bugfix in Gio::File::create() and
  Gio::File::replace()
  + Include Gio::Error header in headers that have API that can
  throw this exception
  + Improve documentation
  + Fix warning with g++ 4.3.
* Fri Mar 14 2008 maw@suse.de
- Update to version 2.16.0:
  + File: load_contents(), load_contents_finish(),
  load_partial_contents_finish():
  Use char*& instead of char** for contents
  Use std::string& instead of char**  for etag_out
  Added method overloads without cancellable.
  + Improved documentation: Mention exceptions instead of errors
* Mon Mar 03 2008 maw@suse.de
- Update to version 2.15.7:
  - Gio:
  + Removed most vfuncs, because they are not useful to
  application developers, and are a likely source of errors
  + DesktopAppInfo:
  * Added Added create(), create_from_file(), is_hidden()
  and set_desktop_env(); renamed new_from_file() to
  create_from_file()
  - File:
  + equal(), get_relative_file(), contains_file(): Take const File
  parameters
  + FileAttributeInfoList: Added dup()
  + Added query_filesystem_info_async() and
  query_filesystem_info_finish() because these were added to
  the C API
  + Renamed contains_file() to file_has_prefix() because this
  was changed in the C API
  - MemoryInputStream: Added add_data(const void* data, gssize len)
  - Mount: Really added signals
  - MountOperation: Wrapped the ask-question signal
  - Volume:
  + Added should_automount()
  + Really added signals
  - UnixOutputStream, DataOutputStream, DataInputStream: Made
  constructors protected
  - ThemedIcon: Added append_name() because this was added to the
  C API
  - Glib: Renamed uri_get_scheme() to uri_parse_scheme() because
  this was changed in the C API
  - Devhelp fixes,
* Mon Feb 18 2008 maw@suse.de
- Update to version 2.15.5:
  + Updates for the latest gio API changes
  + Bugs fixed: bgo#515133.
* Tue Jan 29 2008 maw@suse.de
- Update to version 2.15.3:
  + FilterInputStream: Really wrap this
  + VolumeMonitor: Workaround a crash in gio due to the
  eccentric use of the GType system to discover GVolumeMonitor
  implementations; see gio bug #511814
  + Added Gio::Error exception
  + Added more method overloads without optional parameters, and
  reordered more parameters to allow default values
  + giomm.h: Added includes
- Remove libtool archives
- Add glibmm2-includes.patch.
* Thu Jan 24 2008 maw@suse.de
- Update to version 2.15.2:
  + New giomm library (check for giomm-2.4 with pkg-config)
  in the glibmm tarball. This wraps the new gio API in glib
  2.15/16; this API could change considerably before the stable
  glibmm 2.16 is released
  + Fixes for compilation with gcc 4.3
  + Many other changes.
- Remove upstreamed glibmm-2.14.0-gcc43.patch
- s#%%run_ldconfig#/sbin/ldconfig#.
* Mon Nov 26 2007 maw@suse.de
- Update to version 2.14.2:
  + Glib::wrap(): Don't fail when wrapping an interface that is
  implemented by an unrecognized type
  + gmmproc: Add support for the new _CONFIGINCLUDE() macro.
* Wed Oct 17 2007 rguenther@suse.de
- Fix build with GCC 4.3.
* Mon Sep 17 2007 maw@suse.de
- Update to version 2.14.0:
  + Regex:
  * Add escape_string
  * Rename match_full() to match()
  * Rename match_all_full() to match_all()
  * Rename split_full() to split().
* Mon Jul 30 2007 maw@suse.de
- Update to version 2.13.9:
  * KeyFile: Added Added get_double(), set_double(), get_double_list()
  and set_double_list().
  (Murray Cumming)
* Wed Jul 11 2007 mauro@suse.de
- Update to version 2.13.8
- Added some new API that was added in glib 2.12
- Update docs for the new functions in the API
- Added regex classes w/examples.
* Tue Apr 10 2007 maw@suse.de
- Update to version 2.12.7
- Bug fixes, including bugzilla.gnome.org #386990 and #397167.
* Fri Jan 12 2007 sbrabec@suse.cz
- Spec file cleanup.
* Fri Dec 08 2006 maw@suse.de
- Move to /usr, and remove several hardcoded paths.
* Tue Oct 17 2006 jhargadon@suse.de
- update to version 2.12.2
- Fix for api-default-signal-handlers option
- win32: Remove unused source file from Visual Studio project
- Support optional ifdef parameters in the .hg macros,
  to allow, for instance the --enable-atk=no option,
  to disable the build and use of the atkmm API,
  for use in embedded environments.
* Tue Oct 10 2006 sbrabec@suse.cz
- Use Obsoletes (#211085).
* Tue Sep 26 2006 sbrabec@suse.cz
- Package renamed to glibmm2.
* Fri Sep 15 2006 jhargadon@suse.de
- update to version 2.12.0
- Added the --enable-api-default-signal-handlers option, for use in
  embedded environments that have reduced resources. See configure --help
  for the other subsets
- Value: Added init(const GValue*), so we can copy GValue instances
  of any type at runtime. Needed by the new branch of libgdamm
- Build: Added the --enable-api-default-signal-handlers option, for use in
  embedded environments that have reduced resources. See configure --help
  for the other subsets
- Fix implementation of Glib::Date::set_time_current() so
  that it doesn't set the date to Dec 31, 1969
- Added init(const GValue*), so we can copy GValue instances
  of any type at runtime. Needed by the new branch of libgdamm
- Added a #warning to warn about including X11/Xlib.h before a glibmm header,
  which would break things. Bug #316726 from Mert Tugcu and Javeed Shaikh
- Quote some m4 macros to avoid warnings
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Mon Jan 23 2006 sbrabec@suse.cz
- Do not require devhelp.
* Tue Jan 17 2006 sbrabec@suse.cz
- Updated to version 2.8.3.
* Thu Dec 01 2005 gekker@suse.de
- Update to version 2.8.2
* Wed Sep 07 2005 sbrabec@suse.cz
- Updated to version 2.8.0 (GNOME 2.12).
* Wed Sep 07 2005 sbrabec@suse.cz
- Updated to version 2.7.3.
* Thu Aug 04 2005 sbrabec@suse.cz
- Updated to version 2.6.1.
* Wed Jun 01 2005 sbrabec@suse.cz
- Fixed devel requirements.
* Thu Feb 10 2005 sbrabec@suse.cz
- Added branch 2.4, package splitted, updated to version 2.4.7.
* Tue May 25 2004 ro@suse.de
- undeprecate where needed
* Thu Mar 18 2004 sbrabec@suse.cz
- Removed *.o files from documentation (#36348).
* Mon Feb 23 2004 sbrabec@suse.cz
- Call autoreconf.
* Tue Feb 17 2004 sbrabec@suse.cz
- Initial SuSE package version 2.2.8.
openSUSE Build Service is sponsored by