Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37739789
en ru br
ALT Linux repos
S:2.24.5-alt1
5.0: 2.14.1-alt1
4.1: 2.12.7-alt1
4.0: 2.10.3-alt0.1
3.0: 2.6.1-alt1

Group :: System/Libraries
RPM: libgtkmm2

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%def_disable static
%define api_version 2.4
%define major 2.10

%define realname gtkmm
%define realname2 gtkmm-%api_version

Name: libgtkmm2
Version: %major.3
Release: alt0.1

Summary: A C++ interface for GTK2 (a GUI library for X).
Summary(ru_RU.KOI8-R): Интерфейс на C++ для GTK2 (GUI-библиотеки для X).

License: LGPL
Group: System/Libraries
URL: http://gtkmm.sourceforge.net/

Packager: Vitaly Lipatov <lav at altlinux.ru>

#Source: ftp://dl.sourceforge.net/gtkmm/%realname-%version.tar.bz2

Source: ftp://ftp.gnome.org/pub/gnome/sources/%realname/%major/%realname-%version.tar.bz2

#Patch: %name-%version.patch


Provides: %realname = %version

# manually removed: gcc-g77 hostinfo pax linux-libc-headers

# Automatically added by buildreq on Sat Sep 02 2006
BuildRequires: fontconfig gcc-c++ libcairomm-devel libglibmm-devel libgtk+2-devel libsigc++2.0-devel

BuildRequires: libatk-devel >= 1.9
#Requires: libgtk+2 >= 2.10.0
# FIXME: or BuildRequires?
Requires: libglibmm >= 2.11.3
Requires: libcairomm >= 1.1.12

%description
Gtkmm provides a C++ interface to the GTK+ GUI library. gtkmm2 wraps GTK+ 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.

%description -l ru_RU.KOI8-R
Gtkmm предоставляет интерфейс C++ к библиотеке графического
пользовательского интерфейса GTK+. gtkmm2 используется для GTK+ 2.
Основными достоинствами являются безопасные обратные вызовы,
виджеты, расширяемые через наследование и широкий набор
классов виджетов, которые могут свободно комбинироваться
для быстрого создания пользовательских интерфейсов.

%package devel
Summary: Headers for developing programs that will use %name.
Summary(ru_RU.KOI8-R): Заголовочные файлы для разработки программ, использующих %{name}.
Group: Development/C++
Requires: %name = %version-%release, libgtk+2-devel, glib2-devel, libsigc++2.0-devel, libglibmm-devel
Provides: %realname-devel = %version

%description devel
This package contains the static libraries and header files needed for
developing gtkmm applications.

%description devel -l ru_RU.KOI8-R
Данный пакет содержит статические библиотеки и заголовочные файлы,
требуемые для разработки программ с использованием gtkmm.

%package doc
Summary: Documentation for developing with %name.
Summary(ru_RU.KOI8-R): Документация для разработки с %name.
Group: Development/C++

%description doc
This package contains the documentation for
developing gtkmm applications.

%description doc -l ru_RU.KOI8-R
Данный пакет содержит документацию для разработки с использованием gtkmm.

%package examples
Summary: Examples for developing programs that will use %name
Summary(ru_RU.KOI8-R): Примеры разработки программ с использованием %name
Group: Development/C++
Requires: %name-devel = %version-%release
Provides: %realname-examples = %version

%description examples
The %name-devel package contains source code of example programs for %name.

%description examples -l ru_RU.KOI8-R
Пакет %name-devel содержит исходный код примеров программ для %name.

%package demos
Summary: Demos for developing programs that will use %name
Summary(ru_RU.KOI8-R): Демонстрационные программы с использованием %name
Group: Development/C++
Requires: %name-devel = %version-%release

%description demos
The %name-devel package contains source code of demo programs for %name.

%prep
%setup -q -n %realname-%version
#%patch

# т.к. строчка с нужными libs уже есть в Makefile.in то просто добавляем её LIBADD

%__subst 's|libgtkmm_2_4_la_LIBADD = $(win32_dlls_extra_libs) $(GTKMM_LIBS)|libgtkmm_2_4_la_LIBADD = $(win32_dlls_extra_libs) $(GTKMM_LIBS) $(sublib_win32_dlls_libs)|g' gtk/gtkmm/Makefile.in

%build
%configure \
--disable-maintainer-mode \
%{subst_enable static} \
--enable-shared \
--enable-docs


%make_build

%install
%make_install install DESTDIR=%buildroot
rm -rf %buildroot%_defaultdocdir/%name-doc-%version

# demos install

%define demosdir %buildroot/%_docdir/%name-doc-%version/demos
cd demos
%__mkdir -p %demosdir/pixbuf
%__cp -rf README *.png *.cc %demosdir/pixbuf
%__install -D .libs/pixbuf-demo %buildroot/%_bindir/demo-pixbuf
cd gtk-demo
%__mkdir -p %demosdir/gtk
%__cp -rf *.cc *.h *.png *.gif %demosdir/gtk
cd ../..
mv %buildroot/%_bindir/demo %buildroot/%_bindir/demo-gtkmm2
ln -s %_bindir/demo-gtkmm2 %demosdir/gtk
ln -s %_bindir/demo-pixbuf %demosdir/pixbuf

# Relocate examples

%define exampledir %_defaultdocdir/%name-doc-%version/examples
%__mkdir -p %buildroot%exampledir
cp -a examples/* %buildroot%exampledir
pushd %buildroot%exampledir
find -type d \( -name .libs -o -name .deps \) -print0 |
xargs -r0 rm -rf
find -type f -print0 |xargs -r0 file |
egrep '(relocatable|executable|shell script)' |
cut -d: -f1 |xargs -r rm -fv
cat <<EOF >examples.conf
CXXCOMPILE = g++ -c -o \$ at  \`pkg-config --cflags %realname2\` $RPM_OPT_FLAGS
CXXLINK = g++ -o \$ at  \`pkg-config --libs %realname2\` $RPM_OPT_FLAGS
CXXBUILD = g++ \$< -o \$ at  \`pkg-config --cflags --libs %realname2\` $RPM_OPT_FLAGS
EOF
find -type f -name Makefile |xargs perl -pi -e \
's|^(CONFIG_HEADER\s*=\s*).*|$1|g;
s|^(DEFS\s*=\s*).*|$1|g;
s|^(INCLUDES\s*=\s*).*|$1`pkg-config --cflags %realname2`|g;
s|^(LDADD\s*=\s*).*|$1`pkg-config --libs %realname2`|g;
s|^(top_[a-z]*dir\s*=\s*).*|$1%exampledir|g;
s|\.\./\.\./src|%_includedir|g;
s|../../(g[dt]k--config.h)|%_libdir/%realname2/include/$1|g;
s|\.\./\.\./gdk--/gdk--|%_includedir/gdk--|g;
s|\.\./\.\.|%_includedir|g;
s|\$\(top_builddir\)/[^.]*/libg[dt]kmm.la||g;
s/\$\(LIBTOOL\) --mode=(compile|link) //g'
popd
cp -p config.status %buildroot%exampledir

# move devhelp file to correct place so devhelp can see it

##mv %buildroot%_datadir/devhelp/books/%realname2/gtkmm-%api_version.devhelp %buildroot%_docdir/gtkmm-%api_version/docs/
##install -d -m 0755 %buildroot%_datadir/gtk-doc/html
# can depend on spec-helper to convert this to correct relative link
##ln -s %_defaultdocdir/%name-doc-%version/docs %{buildroot}%{_datadir}/gtk-doc/html/gtkmm2

##%__mkdir -p %buildroot%_defaultdocdir/%name-doc-%version

##mv -f %buildroot%_defaultdocdir/%realname2/docs/* %buildroot%_defaultdocdir/%name-doc-%version
#mv -f %buildroot%_libdir/%realname2/examples %buildroot%_defaultdocdir/%name-doc-%version
#rm -rf %buildroot%_defaultdocdir/%realname2
cp -f docs/FAQ/html/index.html FAQ.html

%post
%post_ldconfig

%postun
%postun_ldconfig

%files
%doc AUTHORS ChangeLog NEWS FAQ.html README
%_libdir/*.so.*

%files devel
#%doc AUTHORS ChangeLog NEWS
%_libdir/*.so
#%_libdir/*.*a
%_pkgconfigdir/*
%_includedir/*
%dir %_libdir/%realname2
%_libdir/%realname2/include
%_libdir/gdkmm-%api_version
#%_libdir/%realname2/proc/pm
%_libdir/%realname2/proc/m4
#%_libdir/%realname2/proc/gtk*
#%_libdir/%realname2/proc/*.pl

%files doc
%_datadir/devhelp/books/%realname2
%dir %_defaultdocdir/%name-doc-%version
%_docdir/%realname2
%exclude %_docdir/%realname2/examples

%files examples
%doc %_defaultdocdir/%name-doc-%version/examples

%files demos
%_bindir/demo*
%doc %_defaultdocdir/%name-doc-%version/demos

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin