File xfce4-panel.spec of Package xfce4-panel

#
# spec file for package xfce4-panel
#
# Copyright (c) 2018 SUSE LINUX 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/
#


%define libname_gtk2 libxfce4panel-1_0-4
%define libname_gtk3 libxfce4panel-2_0-4

Name:           xfce4-panel
Version:        4.12.2
Release:        0
Summary:        Panel for the Xfce Desktop Environment
License:        GPL-2.0-or-later AND LGPL-2.1-or-later
Group:          System/GUI/XFCE
Url:            http://docs.xfce.org/xfce/xfce4-panel/start
Source:         http://archive.xfce.org/src/xfce/xfce4-panel/4.12/%{name}-%{version}.tar.bz2
Source1:        %{name}-rpmlintrc
Source2:        %{name}-restore-defaults
Source3:        %{name}-restore-defaults.desktop
BuildRequires:  ed
BuildRequires:  desktop-file-utils
BuildRequires:  fdupes
BuildRequires:  gtk-doc
BuildRequires:  intltool
BuildRequires:  perl
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(atk)
BuildRequires:  pkgconfig(cairo)
BuildRequires:  pkgconfig(dbus-1)
BuildRequires:  pkgconfig(dbus-glib-1)
BuildRequires:  pkgconfig(exo-1)
BuildRequires:  pkgconfig(garcon-1)
BuildRequires:  pkgconfig(garcon-gtk2-1)
BuildRequires:  pkgconfig(gio-2.0)
BuildRequires:  pkgconfig(gio-unix-2.0)
BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(gmodule-2.0)
BuildRequires:  pkgconfig(gtk+-2.0)
BuildRequires:  pkgconfig(gtk+-3.0)
BuildRequires:  pkgconfig(libwnck-1.0)
BuildRequires:  pkgconfig(libxfce4ui-1)
BuildRequires:  pkgconfig(libxfce4util-1.0)
BuildRequires:  pkgconfig(libxfconf-0)
BuildRequires:  pkgconfig(pango)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xext)
Provides:       xfce4-panel-doc = %{version}
Obsoletes:      xfce4-panel-doc <= 4.8.6
Provides:       xfce4-panel-plugins = %{version}
Obsoletes:      xfce4-panel-plugins < %{version}
Recommends:     %{name}-lang = %{version}
Requires:       %{name}-branding = %{version}
# menu data
Requires:       libgarcon-data
# uses exo-open
Requires:       exo-tools
Recommends:       %{name}-restore-defaults
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
xfce4-panel is the panel for the Xfce desktop environment.

%package        devel
Summary:        Development Files for xfce4-panel
License:        GPL-2.0-or-later AND LGPL-2.1-or-later
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}

%description devel
The xfce4-panel-devel package contains development files needed to to develop
panel plugins.

%package -n %{libname_gtk2}
Summary:        Xfce Panel Shared Library
License:        GPL-2.0-or-later AND LGPL-2.1-or-later
Group:          System/Libraries

%description -n %{libname_gtk2}
This package contains GTK 2 variant of the xfce4-panel shared library.

%package -n %{libname_gtk3}
Summary:        Xfce Panel Shared Library
License:        GPL-2.0-or-later AND LGPL-2.1-or-later
Group:          System/Libraries

%description -n %{libname_gtk3}
This package contains GTK 3 variant of the xfce4-panel shared library.

%package branding-upstream
Summary:        Upstream Branding for xfce4-panel
License:        GPL-2.0-or-later
Group:          System/GUI/XFCE
Supplements:    packageand(%{name}:branding-upstream)
Conflicts:      otherproviders(%{name}-branding)
Provides:       %{name}-branding = %{version}
#BRAND: Provide default panel configuration in /etc/xdg/xfce4/panel/default.xml
BuildArch:      noarch

%description branding-upstream
This package provides the upstream look and feel for xfce4-panel.

%package restore-defaults
Summary:        Script to restore Xfce Panel Defaults
Group:          System/GUI/XFCE
Requires:       zenity

%description restore-defaults
This package provides a script %{_bindir}/%{name}-restore-defaults which calls allows to restore the Xfce Panel factory defaults.
A desktop file and application launcher is provided.

%lang_package

%prep
%setup -q
# fix up missing icon
ed -s plugins/clock/clock.desktop.in.in 2>/dev/null <<'EOF'
,s/^Icon=office-calendar/Icon=application-x-executable/
w
EOF

%build
%configure \
    --with-helper-path-prefix=%{_libexecdir} \
    --enable-gtk3 \
    --disable-static

make V=1 %{?_smp_mflags}

%install
%make_install

install -m0755 %{SOURCE2} %{buildroot}/%{_bindir}/%{name}-restore-defaults

desktop-file-install                                    \
--dir=%{buildroot}%{_datadir}/applications         \
%{SOURCE3}

rm -f %{buildroot}%{_libdir}/*.la \
    %{buildroot}%{_libdir}/xfce4/panel/plugins/*.la \
    %{buildroot}%{_datadir}/xfce4/xfce4-panel/README.gtkrc-2.0

mkdir -p %{buildroot}%{_datadir}/xfce4/panel-plugins
mkdir -p %{buildroot}%{_libdir}/xfce4
mkdir -p %{buildroot}%{_libdir}/xfce4/panel-plugins
mkdir -p %{buildroot}%{_libexecdir}/xfce4
mkdir -p %{buildroot}%{_libexecdir}/xfce4/panel-plugins

%suse_update_desktop_file panel-desktop-handler
%suse_update_desktop_file panel-preferences

rm -rf %{buildroot}%{_datadir}/locale/{ast,kk,tl_PH,ur_PK}

%find_lang %{name}

%fdupes %{buildroot}%{_includedir}

%post -n %{libname_gtk2} -p /sbin/ldconfig

%postun -n %{libname_gtk2} -p /sbin/ldconfig

%post -n %{libname_gtk3} -p /sbin/ldconfig

%postun -n %{libname_gtk3} -p /sbin/ldconfig

%post
%desktop_database_post
%icon_theme_cache_post

%postun
%desktop_database_postun
%icon_theme_cache_postun

%files
%defattr(-,root,root)
%doc AUTHORS COPYING COPYING.LIB ChangeLog NEWS docs/README.gtkrc-2.0
%{_bindir}/xfce4-panel
%{_bindir}/xfce4-popup-applicationsmenu
%{_bindir}/xfce4-popup-directorymenu
%{_bindir}/xfce4-popup-windowmenu
%dir %{_libexecdir}/xfce4
%dir %{_libexecdir}/xfce4/panel
%{_libexecdir}/xfce4/panel/migrate
%{_libexecdir}/xfce4/panel/wrapper-1.0
%{_libexecdir}/xfce4/panel/wrapper-2.0
%dir %{_datadir}/xfce4
%dir %{_datadir}/xfce4/panel
%dir %{_datadir}/xfce4/panel-plugins
%dir %{_datadir}/xfce4/panel/plugins
%{_datadir}/xfce4/panel/plugins/*.desktop
%{_datadir}/icons/hicolor/*/apps/xfce4-panel*
%{_datadir}/applications/panel-*.desktop
%dir %{_libexecdir}/xfce4/panel-plugins
%dir %{_libdir}/xfce4
%dir %{_libdir}/xfce4/panel-plugins
%dir %{_libdir}/xfce4/panel
%dir %{_libdir}/xfce4/panel/plugins
%{_libdir}/xfce4/panel/plugins/libseparator.so
%{_libdir}/xfce4/panel/plugins/libclock.so
%{_libdir}/xfce4/panel/plugins/libwindowmenu.so
%{_libdir}/xfce4/panel/plugins/libpager.so
%{_libdir}/xfce4/panel/plugins/libshowdesktop.so
%{_libdir}/xfce4/panel/plugins/libdirectorymenu.so
%{_libdir}/xfce4/panel/plugins/libsystray.so
%{_libdir}/xfce4/panel/plugins/libtasklist.so
%{_libdir}/xfce4/panel/plugins/libapplicationsmenu.so
%{_libdir}/xfce4/panel/plugins/libactions.so
%{_libdir}/xfce4/panel/plugins/liblauncher.so
%dir %{_sysconfdir}/xdg/xfce4/panel

%files lang -f %{name}.lang
%defattr(-,root,root)

%files -n %{libname_gtk2}
%defattr(-,root,root)
%doc COPYING
%{_libdir}/libxfce4panel-1.0.so.*

%files -n %{libname_gtk3}
%defattr(-,root,root)
%doc COPYING
%{_libdir}/libxfce4panel-2.0.so.*

%files devel
%defattr(-,root,root)
%{_includedir}/xfce4/libxfce4panel-*
%{_libdir}/libxfce4panel-*.so
%{_libdir}/pkgconfig/libxfce4panel-*.pc
%{_datadir}/gtk-doc/html/libxfce4panel-*

%files branding-upstream
%defattr(-,root,root)
%config %{_sysconfdir}/xdg/xfce4/panel/default.xml

%files restore-defaults
%{_bindir}/xfce4-panel-restore-defaults
%{_datadir}/applications/%{name}-restore-defaults.desktop

%changelog