File lxqt-panel.spec of Package lxqt-panel

#
# spec file for package lxqt-panel
#
# Copyright (c) 2017 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 _qtver 5.10
Name:           lxqt-panel
Version:        @SERVICE@
Release:        0
Summary:        Desktop Panel for LXQt
License:        GPL-2.0+
Group:          System/GUI/LXQt
Url:            http://www.lxqt.org
Source0:        %{name}-%{version}.tar.xz
BuildRequires:  cmake >= 3.0.2
BuildRequires:  extra-cmake-modules
BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  libsensors4-devel
BuildRequires:  lxqt-build-tools
BuildRequires:  pkgconfig
BuildRequires:  cmake(KF5Solid) >= 5.5.0
BuildRequires:  cmake(KF5WindowSystem) >= 5.5.0
BuildRequires:  cmake(Qt5LinguistTools)
BuildRequires:  pkgconfig(Qt5Concurrent) >= %{_qtver}
BuildRequires:  pkgconfig(Qt5DBus)
BuildRequires:  pkgconfig(Qt5Widgets)
BuildRequires:  pkgconfig(Qt5X11Extras)
BuildRequires:  pkgconfig(Qt5Xml)
BuildRequires:  pkgconfig(alsa)
BuildRequires:  pkgconfig(dbusmenu-qt5)
BuildRequires:  pkgconfig(libmenu-cache) >= 0.3.3
BuildRequires:  pkgconfig(libpulse)
BuildRequires:  pkgconfig(libstatgrab)
BuildRequires:  pkgconfig(lxqt)
BuildRequires:  pkgconfig(lxqt-globalkeys)
BuildRequires:  pkgconfig(lxqt-globalkeys-ui)
BuildRequires:  pkgconfig(sysstat-qt5)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xcb)
BuildRequires:  pkgconfig(xcb-damage)
BuildRequires:  pkgconfig(xcb-util)
BuildRequires:  pkgconfig(xcb-xkb)
BuildRequires:  pkgconfig(xcomposite)
BuildRequires:  pkgconfig(xdamage)
BuildRequires:  pkgconfig(xkbcommon)
BuildRequires:  pkgconfig(xkbcommon-x11)
BuildRequires:  pkgconfig(xrender)
BuildRequires:  pkgconfig(xtst)
BuildRequires:  pkgconfig(xcb-image)
BuildRequires:  cmake(lxqt-menu-data)
Requires:       %{name}-branding = %{version}
#equires:       lxmenu-data
Requires:       lxqt-menu-data
Requires:       menu-cache
Recommends:     %{name}-lang = %{version}-%{release}
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Brand new desktop Panel for LXQt

%lang_package

%package devel
Summary:        Devel files for lxqt-panel
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}

%description devel
LXQt panel development files and headers

%package branding-upstream
Summary:        Upstream branding of %{name}
Group:          System/GUI/LXQt
Requires:       %{name} = %{version}
Supplements:    packageand(%{name}:branding-upstream)
Conflicts:      otherproviders(%{name}-branding)
Provides:       %{name}-branding = %{version}
BuildArch:      noarch

%description branding-upstream
This package provides the upstream look and feel for %{name}.

%prep
%setup -q
#ed -i 's/,clock/,worldclock/' panel/resources/panel.conf
#ed -i '/SETTINGS_DEFAULT_MIXER_COMMAND/s/\"\(pavucontrol\)\"/\"\1-qt\"/' plugin-volume/lxqtvolumeconfiguration.h
#ed -i '/End Settings/s|^|\t<Exclude>\n\t\t<Category>X-SuSE-YaST</Category>\n\t</Exclude>\n|' \
#   menu/lxqt-applications.menu
#ed -i '/End Other/s|^|\t\t<Exclude>\n\t\t\t<Category>X-SuSE-YaST</Category>\n\t\t</Exclude>\n|' \
#   menu/lxqt-applications.menu
#ed -i '/End System Tools/s|^|\t<Exclude>\n\t\t<Category>X-Leave</Category>\n\t</Exclude>\n|' \
#   menu/lxqt-applications.menu

%build
%define _lto_cflags %{nil}
%if 0%{?suse_version}
export CXXFLAGS="%{optflags} -I/usr/include/pkg/libxkbcommon"
%endif
%cmake -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now"

make %{?_smp_mflags}

%install
%cmake_install
%fdupes -s %{buildroot}/%{_datadir}

install -Dm 0644 %{buildroot}%{_datadir}/lxqt/panel.conf -t %{buildroot}%{_sysconfdir}/xdg/lxqt/
sed -i -e '/\[quicklaunch\]/s|$|\napps\\1\\desktop=/usr/share/applications/pcmanfm-qt.desktop|' \
    -e '/\[quicklaunch\]/s|$|\napps\\2\\desktop=/usr/share/applications/qterminal.desktop|' \
    -e '/\[quicklaunch\]/s|$|\napps\\size=2|' \
    %{buildroot}%{_sysconfdir}/xdg/lxqt/panel.conf
sed -i '/type=mainmenu/s|^|icon=/usr/share/lxqt/graphics/opensuse-light.png\n|' \
    %{buildroot}%{_sysconfdir}/xdg/lxqt/panel.conf
sed -i '/type=mainmenu/s/^/alignment=Left\nownIcon=true\nshowText=true\ntext=openSUSE\n/' \
    %{buildroot}%{_sysconfdir}/xdg/lxqt/panel.conf
sed -i '/plugins=/s/\(volume,\)/kbindicator,\1/' %{buildroot}%{_sysconfdir}/xdg/lxqt/panel.conf
cat >> %{buildroot}%{_sysconfdir}/xdg/lxqt/panel.conf <<-EOF

[kbindicator]
alignment=Right
show_caps_lock=false
show_num_lock=false
show_scroll_lock=false
show_layout=true
keeper_type=global
type=kbindicator
EOF

%find_lang %{name} --with-qt --all-name
for lng in ast arn ; do
for i in $(find %{buildroot}// -name "*_$lng.qm" | cut -d \/ -f7-) ; do
  echo "%lang($lng) $i" >> %{name}.lang
done
done

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc AUTHORS LICENSE
%dir %{_sysconfdir}/xdg/
%dir %{_sysconfdir}/xdg/autostart/
#%%dir %%{_sysconfdir}/xdg/menus/
#%%dir %%{_datadir}/desktop-directories/
%dir %{_datadir}/lxqt
#%%config %%{_sysconfdir}/xdg/menus/lxqt-applications*.menu
%{_bindir}/%{name}
%{_libdir}/%{name}
%{_datadir}/lxqt/%{name}
%dir %{_datadir}/lxqt/panel
%{_datadir}/lxqt/panel/qeyes-types/
%{_datadir}/lxqt/panel.conf
%{_mandir}/man1/%{name}.1%{ext_man}
%{_sysconfdir}/xdg/autostart/%{name}.desktop
#%%{_datadir}/desktop-directories/lxqt-leave.directory
#%%{_datadir}/desktop-directories/lxqt-settings.directory

%files devel
%defattr(-,root,root)
%{_includedir}/lxqt

%files branding-upstream
%defattr(-,root,root,-)
%dir %{_sysconfdir}/xdg/lxqt/
%config %{_sysconfdir}/xdg/lxqt/panel.conf

%files lang -f %{name}.lang
%defattr(-,root,root)
%dir %{_datadir}/lxqt
%dir %{_datadir}/lxqt/translations
%dir %{_datadir}/lxqt/translations/%{name}
#%%dir %%{_datadir}/lxqt/translations/%%{name}/clock
%dir %{_datadir}/lxqt/translations/%{name}/colorpicker
%dir %{_datadir}/lxqt/translations/%{name}/cpuload
%dir %{_datadir}/lxqt/translations/%{name}/customcommand
%dir %{_datadir}/lxqt/translations/%{name}/desktopswitch
%dir %{_datadir}/lxqt/translations/%{name}/directorymenu
%dir %{_datadir}/lxqt/translations/%{name}/dom
%dir %{_datadir}/lxqt/translations/%{name}/kbindicator
%dir %{_datadir}/lxqt/translations/%{name}/mainmenu
%dir %{_datadir}/lxqt/translations/%{name}/mount
%dir %{_datadir}/lxqt/translations/%{name}/networkmonitor
%dir %{_datadir}/lxqt/translations/%{name}/qeyes
%dir %{_datadir}/lxqt/translations/%{name}/quicklaunch
%dir %{_datadir}/lxqt/translations/%{name}/sensors
%dir %{_datadir}/lxqt/translations/%{name}/showdesktop
%dir %{_datadir}/lxqt/translations/%{name}/spacer
%dir %{_datadir}/lxqt/translations/%{name}/statusnotifier
%dir %{_datadir}/lxqt/translations/%{name}/sysstat
%dir %{_datadir}/lxqt/translations/%{name}/taskbar
#%%dir %%{_datadir}/lxqt/translations/%%{name}/tray
%dir %{_datadir}/lxqt/translations/%{name}/volume
%dir %{_datadir}/lxqt/translations/%{name}/worldclock

%changelog
openSUSE Build Service is sponsored by