Пакет google-gadgets: Specfile

%def_disable unstable
%def_disable xulrunner
%define libname libggadget

%if_enabled unstable
%define _optlevel 0
%endif


Name: google-gadgets
Version: 0.11.2
Release: alt4.M60P.1

Group: Toys
Summary: Google Gadgets for Linux
License: Apache License
Url: http://code.google.com/p/google-gadgets-for-linux/

Source0: http://google-gadgets-for-linux.googlecode.com/files/%name-for-linux-%version.tar.bz2
# MDK
Patch1: google-gadgets-for-linux-0.12.2-fix-linkage.patch
Patch2: google-gadgets-for-linux-0.10.5-use-qtscript-in-qt-host.patch
# ALT
Patch11: google-gadgets-for-linux-0.10.5-alt-fix-libdir.patch
Patch12: google-gadgets-for-linux-with-new-glib.patch

# Automatically added by buildreq on Thu Jan 15 2009 (-bi)
#BuildRequires: NetworkManager-devel cmake desktop-file-utils flex gcc-c++ gst-plugins-devel libXScrnSaver-devel libXau-devel libXcomposite-devel libXdamage-devel libXdmcp-devel libXpm-devel libXt-devel libXtst-devel libXv-devel libXxf86misc-devel libcurl-devel libltdl-devel libqt3-devel librsvg-devel libxkbfile-devel phonon-devel rpm-build-ruby xorg-xf86vidmodeproto-devel xulrunner-devel zip
BuildRequires(pre): xulrunner-devel libqt4-devel rpm-macros-browser-plugins
BuildRequires: cmake desktop-file-utils flex gcc-c++
BuildRequires: gst-plugins-devel libdbus-devel libstartup-notification-devel
BuildRequires: libcurl-devel libltdl-devel librsvg-devel libgtk+2-devel
BuildRequires: phonon-devel rpm-build-ruby zip
BuildRequires: libalternatives-devel kde-common-devel libwebkitgtk2-devel

%description
Google Gadgets for Linux provides a platform for running desktop gadgets
under Linux, catering to the unique needs of Linux users. It is compatible
with the gadgets written for Google Desktop for Windows as well as the
Universal Gadgets on iGoogle.

%package common
Summary: Google Gadgets for Linux - common package
Group: System/Configuration/Other
Requires: curl
%description common
This package only to easy removing of Google Gadgets.

%package core
Summary: Google Gadgets for Linux - core modules
Group: Toys
Requires: curl
%description core
Google Gadgets for Linux provides a platform for running desktop gadgets
under Linux, catering to the unique needs of Linux users. It is compatible
with the gadgets written for Google Desktop for Windows as well as the
Universal Gadgets on iGoogle.
This package contains core modules of Google Gadgets.

%package -n lib%{name}
Summary: Google Gadgets for Linux - shared libs
Group: Toys
Requires: google-gadgets-common = %version-%release
%description -n lib%{name}
This package contains shared library of Google Gadgets.

%package -n lib%{name}-qt
Summary: Google Gadgets for Linux - qt4 libs
Group: Toys
Requires: libqt4-core >= %{get_version libqt4-core}
Requires: google-gadgets-common = %version-%release
%description -n lib%{name}-qt
This package contains qt4 library of Google Gadgets.

%package -n lib%{name}-gtk
Summary: Google Gadgets for Linux - gtk2 libs
Group: Toys
Requires: google-gadgets-common = %version-%release
%description -n lib%{name}-gtk
This package contains gtk2 library of Google Gadgets.

%package qt
Summary: Google Gadgets for Linux - qt4 host
Group: Toys
PreReq(post,preun): alternatives >= 0.2
Requires: google-gadgets-core = %version-%release
%if_enabled xulrunner
Requires: google-gadgets-xul = %version-%release
%endif
Provides: google-gadgets = %version-%release
%description qt
Google Gadgets for Linux provides a platform for running desktop gadgets
under Linux, catering to the unique needs of Linux users. It is compatible
with the gadgets written for Google Desktop for Windows as well as the
Universal Gadgets on iGoogle.
This package contains qt4 host of Google Gadgets.

%package gtk
Summary: Google Gadgets for Linux - gtk2 host
Group: Toys
PreReq(post,preun): alternatives >= 0.2
Requires: google-gadgets-core = %version-%release
%if_enabled xulrunner
Requires: google-gadgets-xul = %version-%release
%endif
Provides: google-gadgets = %version-%release
%description gtk
Google Gadgets for Linux provides a platform for running desktop gadgets
under Linux, catering to the unique needs of Linux users. It is compatible
with the gadgets written for Google Desktop for Windows as well as the
Universal Gadgets on iGoogle.
This package contains gtk2 host of Google Gadgets.

%package xul
Summary: Google Gadgets for Linux - xul componets
Group: Toys
Requires: google-gadgets-common = %version-%release
#Requires: xulrunner-libs >= %{get_version xulrunner-libs}
%description xul
Google Gadgets for Linux provides a platform for running desktop gadgets
under Linux, catering to the unique needs of Linux users. It is compatible
with the gadgets written for Google Desktop for Windows as well as the
Universal Gadgets on iGoogle.

This package contains xul components of Google Gadgets.


%package devel
Summary: Google Gadgets for Linux - Development files
Group: Toys
Requires: lib%{name} = %version-%release
Requires: lib%{name}-gtk = %version-%release
Requires: lib%{name}-qt = %version-%release
%description devel
This package contains developement files of Google Gadgets.


%prep
%setup -q -n %name-for-linux-%version
%patch1 -p0
%patch2 -p0
#
%patch11 -p1
%patch12 -p2

#autoreconf

%build
%if "`find %_includedir/xulrunner -type f -name jsversion.h`" != ""
%add_optflags -DHAVE_JSVERSION_H
%endif

%if_enabled unstable
%add_optflags '-g'
%else
%add_optflags -DNDEBUG
%endif

#K4cmake \
#    -DLIB_INSTALL_DIR:PATH=%_libdir \
#    -DGGL_DEFAULT_BROWSER_PLUGINS_DIR:STRING="%browser_plugins_path:%browser_plugins_path_old" \
#    -DGGL_OEM_BRAND:STRING="%distribution %_target_cpu"
#K4make
%configure \
    --disable-static \
    --enable-shared \
    --disable-werror \
%if_disabled xulrunner
    --disable-gtkmoz-browser-element --disable-smjs-script-runtime \
%endif
    --disable-update-mime-database --disable-update-desktop-database \
    --with-browser-plugins-dir="%browser_plugins_path:%browser_plugins_path_old" \
    --with-oem-brand="%distribution %_target_cpu"
%make_build

%install
%if_enabled unstable
%set_strip_method none
%endif

#K4install
%make install DESTDIR=%buildroot


desktop-file-install --vendor='' \
	--dir %buildroot%_datadir/applications \
	%buildroot%_datadir/applications/*.desktop
#	--remove-category='Network' \
%find_lang %name

mkdir -p %buildroot/%_sysconfdir/alternatives/packages.d/
cat > %buildroot/%_sysconfdir/alternatives/packages.d/ggl-gtk <<__EOF__
%_bindir/ggl %_bindir/ggl-gtk 10
__EOF__
cat > %buildroot/%_sysconfdir/alternatives/packages.d/ggl-qt <<__EOF__
%_bindir/ggl %_bindir/ggl-qt 10
__EOF__
ln -s /bin/true %buildroot/%_bindir/ggl


%files common
%ghost %_bindir/ggl

%files -n lib%{name}
%_libdir/libggadget-1.0.so.*
%_libdir/libggadget-dbus-1.0.so.*
%_libdir/libggadget-js-1.0.so.*
%_libdir/libggadget-xdg-1.0.so.*
%_libdir/libggadget-npapi-1.0.so.*
%_libdir/libggadget-webkitjs-1.0.so.*

%files -n lib%{name}-qt
%_libdir/libggadget-qt-1.0.so.*

%files -n lib%{name}-gtk
%_libdir/libggadget-gtk-1.0.so.*

%files core -f %name.lang
%doc NEWS THANKS README ChangeLog
%_datadir/pixmaps/google-gadgets.png
%_datadir/mime/packages/00-google-gadgets.xml
%_iconsdir/*/*/*/*
%_datadir/google-gadgets
%dir %_libdir/google-gadgets/modules
%_libdir/google-gadgets/modules/analytics-usage-collector.so
%_libdir/google-gadgets/modules/curl-xml-http-request.so
%_libdir/google-gadgets/modules/dbus-script-class.so
%_libdir/google-gadgets/modules/default-framework.so
%_libdir/google-gadgets/modules/default-options.so
%_libdir/google-gadgets/modules/gst-audio-framework.so
%_libdir/google-gadgets/modules/gst-video-element.so
%_libdir/google-gadgets/modules/google-gadget-manager.so
%_libdir/google-gadgets/modules/libxml2-xml-parser.so
%_libdir/google-gadgets/modules/linux-system-framework.so
%_libdir/google-gadgets/modules/html-flash-element.so
%_libdir/google-gadgets/modules/webkit-script-runtime.so

%files qt
%config %_sysconfdir/alternatives/packages.d/ggl-qt
%_bindir/ggl-qt
%_datadir/applications/ggl-qt.desktop
%_libdir/google-gadgets/modules/qt-edit-element.so
%_libdir/google-gadgets/modules/qt-system-framework.so
%_libdir/google-gadgets/modules/qt-xml-http-request.so
%_libdir/google-gadgets/modules/qtwebkit-browser-element.so
%_libdir/google-gadgets/modules/qt-script-runtime.so

%files gtk
%config %_sysconfdir/alternatives/packages.d/ggl-gtk
%_bindir/ggl-gtk
%_datadir/applications/ggl-gtk.desktop
%_datadir/applications/ggl-designer.desktop
%_libdir/google-gadgets/modules/gtk-edit-element.so
%_libdir/google-gadgets/modules/gtk-flash-element.so
%_libdir/google-gadgets/modules/gtk-system-framework.so
%_libdir/google-gadgets/modules/soup-xml-http-request.so
%_libdir/google-gadgets/modules/gtkwebkit-browser-element.so

%if_enabled xulrunner
%files xul
%_libdir/google-gadgets/gtkmoz-browser-child
%_libdir/google-gadgets/modules/gtkmoz-browser-element.so
%_libdir/google-gadgets/modules/smjs-script-runtime.so
%endif

%files devel
%_includedir/*
%_libdir/google-gadgets/include
#%_libdir/google-gadgets/modules/*.la
#%_libdir/*.la
%_libdir/*.so
%_pkgconfigdir/*.pc

%changelog
* Sat Jan 12 2013 Andrey Cherepanov <cas@altlinux.org> 0.11.2-alt4.M60P.1
- Rebuild with new version of libwebkitgtk2

* Fri Apr 29 2011 Sergey V Turchin <zerg@altlinux.org> 0.11.2-alt4
- build without xulrunner

* Wed Mar 23 2011 Sergey V Turchin <zerg@altlinux.org> 0.11.2-alt3
- fix requires

* Tue Oct 19 2010 Sergey V Turchin <zerg@altlinux.org> 0.11.2-alt2
- rebuilt with libwebkitgtk2

* Mon Mar 22 2010 Sergey V Turchin <zerg@altlinux.org> 0.11.2-alt1
- new version

* Tue Sep 29 2009 Sergey V Turchin <zerg@altlinux.org> 0.11.1-alt1
- new version

* Tue Sep 29 2009 Sergey V Turchin <zerg@altlinux.org> 0.11.0-alt2
- fix netscape plugins search paths (ALT#21778)

* Mon Jun 22 2009 Sergey V Turchin <zerg@altlinux.org> 0.11.0-alt1
- new version

* Fri Mar 27 2009 Sergey V Turchin <zerg@altlinux.org> 0.10.5-alt4
- fix to build with new xulrunner
- allow to build with debug

* Thu Feb 26 2009 Sergey V Turchin <zerg at altlinux dot org> 0.10.5-alt3
- fix linking

* Thu Jan 15 2009 Sergey V Turchin <zerg at altlinux dot org> 0.10.5-alt2
- add alternatives support

* Thu Jan 15 2009 Sergey V Turchin <zerg at altlinux dot org> 0.10.5-alt1
- initial specfile