File gnome-panel.spec of Package gnome-panel

#
# spec file for package gnome-panel
#
# Copyright (c) 2011 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/
#



Name:           gnome-panel
Version:        2.32.1
Release:        7.<RELEASE3>
License:        GPLv2+
Summary:        The GNOME Desktop Panel
Url:            http://www.gnome.org
Group:          System/GUI/GNOME
Source:         ftp://ftp.gnome.org/pub/gnome/sources/gnome-panel/2.24/%{name}-%{version}.tar.bz2
Source99:       baselibs.conf
# PATCH-FIX-UPSTREAM gnome-panel-fix-applet-xinerama.patch vuntz@opensuse.org -- Fix applets on xinerama setup
Patch0:         gnome-panel-fix-applet-xinerama.patch
# PATCH-FIX-UPSTREAM gnome-panel-no-bonobo-in-process.patch vuntz@opensuse.org -- Remove possibility to have in-process bonobo applets. That would just break the gnome-panel process because of a conflict between dbus and bonobo applets in the same process
Patch1:         gnome-panel-no-bonobo-in-process.patch
# PATCH-FIX-UPSTREAM gnome-panel-recent-check-exists.patch -- Show an error when clicking on a recent item that doesn't exist anymore
Patch25:        gnome-panel-recent-check-exists.patch
# PATCH-FIX-UPSTREAM gnome-panel-beagle-search.patch bgo336726 -- Use nautilus search instead of gnome-search-tool
Patch34:        gnome-panel-beagle-search.patch
# PATCH-FIX-OPENSUSE gnome-panel-2-11-bring-back-my-run-item.patch -- Display the run dialog in the menu bar
Patch35:        gnome-panel-2-11-bring-back-my-run-item.patch
# PATCH-FIX-OPENSUSE gnome-panel-main-menu-name.patch -- Rename the upstream main menu to traditional main menu
Patch40:        gnome-panel-main-menu-name.patch
# PATCH-NEEDS-REBASE gnome-panel-run-fixes.patch bnc115576 bgo543604 -- Fix running a command like yast2 when we find the desktop file but the binary is not in $PATH (was PATCH-FIX-UPSTREAM)
Patch50:        gnome-panel-run-fixes.patch
# PATCH-FEATURE-OPENSUSE gnome-panel-alt-f1-slab.patch -- Open the gnome-main-menu on Alt-F1.
Patch51:        gnome-panel-alt-f1-slab.patch
# PATCH-FEATURE-UPSTREAM gnome-panel-recently-used-apps.patch bgo464751 -- Add apps run from the run dialog to the recently used applications. vuntz: I didn't put the patch upstream because I know I won't implement the feature like this upstream.
Patch56:        gnome-panel-recently-used-apps.patch
# PATCH-FIX-OPENSUSE gnome-panel-bnc363981-intlclock-compatibility.patch bnc363981 vuntz@novell.com -- Keep compatilibity with setups using intlclock. Also fixes bnc376319
Patch58:        gnome-panel-bnc363981-intlclock-compatibility.patch
# PATCH-FEATURE-OPENSUSE gnome-panel-bnc356242-recently-used-apps-hidden.patch bnc356242 vuntz@novell.com -- Hide recently used apps from the recent documents menu
Patch61:        gnome-panel-bnc356242-recently-used-apps-hidden.patch
BuildRequires:  fdupes
BuildRequires:  gnome-common
BuildRequires:  gnome-doc-utils-devel
BuildRequires:  gnome-patch-translation
BuildRequires:  gobject-introspection-devel
BuildRequires:  gtk-doc
BuildRequires:  intltool
BuildRequires:  licenses
BuildRequires:  pkg-config
BuildRequires:  translation-update-upstream
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(NetworkManager)
BuildRequires:  pkgconfig(ORBit-2.0)
BuildRequires:  pkgconfig(cairo)
BuildRequires:  pkgconfig(dbus-glib-1)
BuildRequires:  pkgconfig(gconf-2.0)
BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(gnome-desktop-2.0)
BuildRequires:  pkgconfig(gtk+-2.0)
BuildRequires:  pkgconfig(gweather)
BuildRequires:  pkgconfig(ice)
BuildRequires:  pkgconfig(libbonoboui-2.0)
BuildRequires:  pkgconfig(libcanberra-gtk)
BuildRequires:  pkgconfig(libedataserver-1.2)
BuildRequires:  pkgconfig(libedataserverui-1.2)
BuildRequires:  pkgconfig(libgnome-menu)
BuildRequires:  pkgconfig(librsvg-2.0)
BuildRequires:  pkgconfig(libwnck-1.0)
BuildRequires:  pkgconfig(pango)
BuildRequires:  pkgconfig(sm)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xau)
# Needed for the clock applet
Requires:       gnome-settings-daemon-polkit-datetime
Requires:       licenses
# Required by clock/tz.c:
Requires:       timezone
Recommends:     %{name}-lang
Recommends:     gnome-main-menu
Obsoletes:      gnome-core
# For upgrade from SLE 10
Provides:       gnome-panel-nld > 2.12.3
Obsoletes:      gnome-panel-nld <= 2.12.3
# As of Jan 2008, intlclock is part of gnome-panel.
Provides:       intlclock = 1.0
Obsoletes:      intlclock < 1.0
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%gconf_schemas_prereq

%description
This package contains the GNOME Desktop Panel. The panel is an
easy-to-use and functional interface to manage your desktop, start
programs, and organize access to your data.

%package bonobo-support
License:        GPLv2+
Summary:        Bonobo Applets Support for GNOME Panel
Group:          System/GUI/GNOME
Requires:       %{name} = %{version}
# Automatically install the bonobo support if the bonobo-based library is
# installed
Supplements:    packageand(%{name}:libpanel-applet-2-0)
%glib2_gio_module_requires

%description bonobo-support
This package contains the GNOME Desktop Panel. The panel is an
easy-to-use and functional interface to manage your desktop, start
programs, and organize access to your data.

This package contains the support for bonobo-based applets in the
GNOME panel.

%package -n libpanel-applet-2-0
License:        LGPLv2.1+
Summary:        GNOME Panel Applet Library -- Bonobo-based library
Group:          System/GUI/GNOME

%description -n libpanel-applet-2-0
This package contains the GNOME Desktop Panel. The panel is an
easy-to-use and functional interface to manage your desktop, start
programs, and organize access to your data.

This package contains the library used by GNOME panel applets,
based on bonobo.

%package -n libpanel-applet-3-0
License:        LGPLv2.1+
Summary:        GNOME Panel Applet Library -- D-Bus-based library
Group:          System/GUI/GNOME

%description -n libpanel-applet-3-0
This package contains the GNOME Desktop Panel. The panel is an
easy-to-use and functional interface to manage your desktop, start
programs, and organize access to your data.

This package contains the library used by GNOME panel applets,
based on D-Bus.

%package extras
License:        GPLv2+
Summary:        Extra panel applets
Group:          System/GUI/GNOME
Requires:       %{name} = %{version}
Requires:       fortune
# For upgrade from SLE 10
Provides:       gnome-panel-nld-extras > 2.12.3
Obsoletes:      gnome-panel-nld-extras <= 2.12.3
%gconf_schemas_prereq

%description extras
This package contains the GNOME Desktop Panel. The panel is an
easy-to-use and functional interface to manage your desktop, start
programs, and organize access to your data.

This package contains extra panel applets such as Wanda the fish.

%package devel
License:        LGPLv2.1+
Summary:        GNOME Panel Applet Library -- Development Files
Group:          Development/Libraries/GNOME
Requires:       libpanel-applet-2-0 = %{version}
Requires:       libpanel-applet-3-0 = %{version}
Requires:       gconf2-devel
Requires:       gtk2-devel
Requires:       libbonoboui-devel
Requires:       libgnomeui-devel
# For upgrade from SLE 10
Provides:       gnome-panel-nld-devel > 2.12.3
Obsoletes:      gnome-panel-nld-devel <= 2.12.3

%description devel
This package contains the GNOME Desktop Panel. The panel is an
easy-to-use and functional interface to manage your desktop, start
programs, and organize access to your data.

This package contains all necessary include files and libraries needed
to develop applications that require these.

%package doc
License:        LGPLv2.1+
Summary:        GNOME Panel Applet Library -- Developer Documentation
Group:          System/GUI/GNOME
Requires:       %{name} = %{version}
# For upgrade from SLE 10
Provides:       gnome-panel-nld-doc > 2.12.3
Obsoletes:      gnome-panel-nld-doc <= 2.12.3

%description doc
This package contains the GNOME Desktop Panel. The panel is an
easy-to-use and functional interface to manage your desktop, start
programs, and organize access to your data.

This package contains optional documentation provided in addition to
this package's base documentation.

%lang_package
%prep
%setup -q
translation-update-upstream
gnome-patch-translation-prepare
%patch0 -p1
%patch1 -p1
%patch25 -p0
%patch34
%patch35 -p0
%patch40
# %patch50
%patch51 -p0
%patch56 -p0
%patch58 -p1
%patch61 -p0
gnome-patch-translation-update

%build
%configure --with-pic \
    --libexecdir=%{_libexecdir}/gnome-panel \
    --disable-static \
    --with-in-process-applets=all \
    --disable-schemas-install \
    --disable-scrollkeeper
make %{?_smp_mflags}

%install
%makeinstall
%if 0%{?suse_version} <= 1110
%{__rm} %{buildroot}%{_datadir}/locale/ha/LC_MESSAGES/*
%{__rm} %{buildroot}%{_datadir}/locale/la/LC_MESSAGES/*
%{__rm} %{buildroot}%{_datadir}/locale/ig/LC_MESSAGES/*
%endif
%if 0%{?suse_version} <= 1120
%{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/*
%endif
touch %{buildroot}%{_libdir}/gnome-panel/modules/giomodule.cache
%suse_update_desktop_file gnome-panel
%find_lang %{name}-2.0 %{?no_lang_C}
%find_lang clock %{?no_lang_C} %{name}-2.0.lang
%find_lang fish %{?no_lang_C}
%def_gconf_schemas %{name}
%add_gconf_schemas clock
%add_gconf_schemas panel-compatibility
%add_gconf_schemas panel-general
%add_gconf_schemas panel-global
%add_gconf_schemas panel-object
%add_gconf_schemas panel-toplevel
%add_gconf_schemas window-list
%add_gconf_schemas workspace-switcher
%def_gconf_schemas %{name}-extras
%add_gconf_schemas fish
%end_gconf_schemas
cat fish.lang %{name}-extras.schemas_list >%{name}-extras.lst
# NOTE: GCONF_CONFIG_SOURCE is already set by %%posttrans code.
sed -i /GCONF_CONFIG_SOURCE/d %{name}.schemas_posttrans
# Move .entries file to /usr/share/gconf/schemas, see fate#305318
mv %{buildroot}%{_sysconfdir}/gconf/schemas/panel-default-setup.entries %{buildroot}%{_datadir}/GConf/schemas/panel-default-setup.entries
for FILE in COPYING ; do
    MD5SUM=$(md5sum $FILE | sed 's/ .*//g')
    if test -f /usr/share/doc/licenses/md5/$MD5SUM ; then
        ln -sf /usr/share/doc/licenses/md5/$MD5SUM $FILE
    fi
done
find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
%fdupes %{buildroot}

%clean
rm -rf %{buildroot}

%pre -f %{name}.schemas_pre

%post
%desktop_database_post
%icon_theme_cache_post

%posttrans -f %{name}.schemas_posttrans
export GCONF_CONFIG_SOURCE=`usr/bin/gconftool-2 --get-default-source`
usr/bin/gconftool-2 --direct --config-source=$GCONF_CONFIG_SOURCE --load usr/share/GConf/schemas/panel-default-setup.entries >/dev/null

%preun -f %{name}.schemas_preun
# Remove extra keys from panel-default-setup.entries.
# If it is an update, %%posttrans will install new schemas.
rm -rf etc/gconf/gconf.xml.schemas/apps/panel/default_setup

%postun
%desktop_database_postun
%icon_theme_cache_postun

%post bonobo-support
%glib2_gio_module_post %{_libdir}/gnome-panel/modules

%postun bonobo-support
%glib2_gio_module_postun %{_libdir}/gnome-panel/modules

%post -n libpanel-applet-2-0 -p /sbin/ldconfig

%postun -n libpanel-applet-2-0 -p /sbin/ldconfig

%post -n libpanel-applet-3-0 -p /sbin/ldconfig

%postun -n libpanel-applet-3-0 -p /sbin/ldconfig

%pre extras -f %{name}-extras.schemas_pre

%post extras
%icon_theme_cache_post

%posttrans extras -f %{name}-extras.schemas_posttrans

%preun extras -f %{name}-extras.schemas_preun

%postun extras
%icon_theme_cache_postun

%files -f %{name}.schemas_list
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog NEWS README
%dir %{_datadir}/gnome/
%dir %{_datadir}/gnome/help/
%dir %{_datadir}/gnome/help/clock/
%doc %{_datadir}/gnome/help/clock/C/
%dir %{_datadir}/omf/
%dir %{_datadir}/omf/clock/
%doc %{_datadir}/omf/clock/clock-C.omf
# generic directory for in-process applets
%dir %{_libdir}/gnome-panel
# directory for modules to load applets
%dir %{_libdir}/gnome-panel/modules
%ghost %{_libdir}/gnome-panel/modules/giomodule.cache
%if "%{_libdir}" != "%{_libexecdir}"
# generic directory for normal applets, and helpers
%dir %{_libexecdir}/gnome-panel
%endif
%{_bindir}/gnome-desktop-item-edit
%{_bindir}/gnome-panel
%{_datadir}/applications/gnome-panel.desktop
%{_datadir}/GConf/schemas/panel-default-setup.entries
%{_datadir}/gnome-panel/
%{_datadir}/gnome-panelrc
%{_datadir}/icons/hicolor/*/apps/gnome-panel*.*
%doc %{_mandir}/man?/gnome-panel.*
%{_libexecdir}/gnome-panel/gnome-panel-add
# Internal applets
%{_libdir}/gnome-panel/*.so
# Files that are in the extras package
%exclude %{_datadir}/gnome-panel/applets/org.gnome.panel.FishApplet.panel-applet
%exclude %{_datadir}/gnome-panel/pixmaps/fishanim.png
%exclude %{_datadir}/gnome-panel/pixmaps/footguy.png
%exclude %{_datadir}/gnome-panel/pixmaps/monkey.png
%exclude %{_datadir}/gnome-panel/pixmaps/oldwanda.png
%exclude %{_datadir}/gnome-panel/ui/fish.ui
%exclude %{_datadir}/gnome-panel/ui/fish-menu.xml
%exclude %{_datadir}/icons/hicolor/*/apps/gnome-panel-fish.*
%exclude %{_libdir}/gnome-panel/libfish-applet.so
# Files that are in the devel package
%exclude %{_datadir}/gnome-panel/ui/panel-test-applets.ui
%exclude %{_datadir}/gnome-panel/ui/panel-test-applets-bonobo.ui

%files bonobo-support
%defattr (-, root, root)
%{_libdir}/gnome-panel/modules/libpanel-applets-bonobo.so
%{_datadir}/gnome-2.0/ui/GNOME_Panel_Popup.xml
%{_datadir}/idl/gnome-panel-2.0/

%files -n libpanel-applet-2-0
%defattr (-, root, root)
%{_libdir}/libpanel-applet-2.so.*

%files -n libpanel-applet-3-0
%defattr (-, root, root)
# applets using this library must install a file in %%{_datadir}/gnome-panel/applets
%dir %{_datadir}/gnome-panel
%dir %{_datadir}/gnome-panel/applets
%{_libdir}/libpanel-applet-3.so.*
%{_libdir}/girepository-1.0/PanelApplet-3.0.typelib

%files lang -f %{name}-2.0.lang

%files extras -f %{name}-extras.lst
%defattr (-, root, root)
%dir %{_datadir}/gnome/
%dir %{_datadir}/gnome/help/
%dir %{_datadir}/gnome/help/fish/
%doc %{_datadir}/gnome/help/fish/C/
%dir %{_datadir}/omf/
%dir %{_datadir}/omf/fish/
%doc %{_datadir}/omf/fish/fish-C.omf
# When changing the file list here, please update the excluded files in the main package
%{_datadir}/gnome-panel/applets/org.gnome.panel.FishApplet.panel-applet
%{_datadir}/gnome-panel/pixmaps/fishanim.png
%{_datadir}/gnome-panel/pixmaps/footguy.png
%{_datadir}/gnome-panel/pixmaps/monkey.png
%{_datadir}/gnome-panel/pixmaps/oldwanda.png
# Note that wanda.png is actually used by gnome-panel directly too, so it shouldn't be here
%{_datadir}/gnome-panel/ui/fish.ui
%{_datadir}/gnome-panel/ui/fish-menu.xml
%{_datadir}/icons/hicolor/*/apps/gnome-panel-fish.*
%{_libdir}/gnome-panel/libfish-applet.so

%files devel
%defattr (-, root, root)
%{_bindir}/panel-test-applets
%{_bindir}/panel-test-applets-bonobo
%{_datadir}/gir-1.0/*.gir
%{_datadir}/gnome-panel/ui/panel-test-applets.ui
%{_datadir}/gnome-panel/ui/panel-test-applets-bonobo.ui
%{_includedir}/gnome-panel-3.0/
%{_includedir}/panel-2.0/
%{_libdir}/libpanel-applet-2.so
%{_libdir}/libpanel-applet-3.so
%{_libdir}/pkgconfig/libpanelapplet-2.0.pc
%{_libdir}/pkgconfig/libpanelapplet-3.0.pc

%files doc
%defattr (-, root, root)
%{_datadir}/gtk-doc/html/panel-applet/

%changelog