File openbox.spec of Package openbox

#
# spec file for package openbox
#
# Copyright (c) 2015 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/
#


Name:           openbox
Provides:       windowmanager
Version:        3.6.1
Release:        0
Summary:        ICCCM and EWMH Compliant Window Manager with Very Few Dependencies
License:        GPL-2.0+
Group:          System/GUI/Other
Url:            http://openbox.org/
Source:         http://openbox.org/dist/openbox/openbox-%{version}.tar.xz
Source1:        %name-README.SuSE
Source2:        %name.desktop
Source3:        %name-pipemenu
Source4:        menu.xml
Source5:        xcompmgr-autostart
Patch1:         %name-3.6.1-return.patch
Patch2:         %name-3.6.1-glib-2.76.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  fdupes
# only for ownership of datadir/share/gnome-sessions/
BuildRequires:  gnome-session-core
BuildRequires:  libtool
BuildRequires:  pkgconfig
BuildRequires:  update-desktop-files
BuildRequires:  xz
BuildRequires:  pkgconfig(cairo)
BuildRequires:  pkgconfig(freetype2)
BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(gobject-2.0)
BuildRequires:  pkgconfig(ice)
BuildRequires:  pkgconfig(imlib2)
BuildRequires:  pkgconfig(librsvg-2.0)
BuildRequires:  pkgconfig(libstartup-notification-1.0)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(pango)
BuildRequires:  pkgconfig(pangoxft)
BuildRequires:  pkgconfig(sm)
BuildRequires:  pkgconfig(xcursor)
BuildRequires:  pkgconfig(xext)
BuildRequires:  pkgconfig(xft)
BuildRequires:  pkgconfig(xinerama)
BuildRequires:  pkgconfig(xrandr)
Requires:       xdg-menu
# /usr/bin/openbox-pipemenu launches xsltproc to build up the menu
Requires:       xsltproc
Recommends:     obconf

%description
Openbox is a window manager for the X Window System. It currently runs
on a large list of platforms. It was originally based on Blackbox, but
is, since version 3.0, a complete reimplementation with these features,
among others:

o ICCCM and EWMH compliance o Chainable key bindings o Customizable
mouse actions o Window resistance o Multihead Xinerama support o Pipe
menus

The configuration tool "obconf" is recommended along with this package.

%package -n libobrender32
Summary:        Openbox Render Library
Group:          System/Libraries

%description -n libobrender32
This subpackage contains a utility function library used by Openbox
for theme rendering.

%package -n libobt2
Summary:        Openbox Toolkit Library
Group:          System/Libraries

%description -n libobt2
This subpackage contains a utility function library used by Openbox
to load and parse configuration and theme files of Openbox.

%package gnome
Summary:        Openbox GNOME integration
Group:          System/GUI/Other
Requires:       %{name} = %{version}

%description gnome
This package provides openbox GNOME integration and tools

%package kde
Summary:        Openbox KDE integration
Group:          System/GUI/Other
Requires:       %{name} = %{version}

%description kde
This package provides openbox KDE integration and tools

%package devel
Summary:        Includes and static libraries for openbox
Group:          Development/Libraries/X11
Requires:       libobrender32 = %version
Requires:       libobt2 = %version
Requires:       pkgconfig(ice)
Requires:       pkgconfig(sm)
Requires:       pkgconfig(x11)

%description devel
Development Includes and static libraries for openbox.

%prep
%autosetup -p1

cp %{S:1} ./README.SUSE
mv po/no.po po/nb.po
mv po/no.gmo po/nb.gmo
%__perl -p -i -e 's/^no$/nb/' po/LINGUAS

%build
#autoreconf -fiv
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure --disable-static --with-pic
%__make clean
%__make %{?_smp_mflags} V=1

%install
%makeinstall
# we dont want static libs
rm $RPM_BUILD_ROOT%_libdir/*.la
# we dont want the stupid docdir
rm -rf $RPM_BUILD_ROOT%_datadir/doc/%name
# we dont want invalid locales
rm -rf %buildroot/%_datadir/locale/en@boldquot
rm -rf %buildroot/%_datadir/locale/en@quot
# install kdm/gdm entry
install -m 0755 -d $RPM_BUILD_ROOT/%_datadir/xsessions/
install -m 0644 %SOURCE2 $RPM_BUILD_ROOT/%_datadir/xsessions/
install -m 0755 %SOURCE3 $RPM_BUILD_ROOT/%_bindir/%name-pipemenu
install -m 0644 %SOURCE4 $RPM_BUILD_ROOT/%_sysconfdir/xdg/openbox/menu.xml
install -m 0755 %SOURCE5 $RPM_BUILD_ROOT/%_bindir/xcompmgr-autostart
%suse_update_desktop_file $RPM_BUILD_ROOT/%_datadir/applications/%name.desktop
%suse_update_desktop_file $RPM_BUILD_ROOT/%_datadir/xsessions/%name.desktop
%suse_update_desktop_file $RPM_BUILD_ROOT/%_datadir/xsessions/%name-gnome.desktop
%suse_update_desktop_file $RPM_BUILD_ROOT/%_datadir/xsessions/%name-kde.desktop
%suse_update_desktop_file $RPM_BUILD_ROOT/%_datadir/gnome/wm-properties/%name.desktop
%find_lang %name
%fdupes %buildroot/%_prefix
%fdupes -s %buildroot

%post
%desktop_database_post

%postun
%desktop_database_postun

%post   -n libobrender32 -p /sbin/ldconfig
%postun -n libobrender32 -p /sbin/ldconfig
%post   -n libobt2 -p /sbin/ldconfig
%postun -n libobt2 -p /sbin/ldconfig

%files -f %name.lang
%defattr(-,root,root)
%doc AUTHORS CHANGELOG COPYING COMPLIANCE README README.SUSE
%doc data/xbm data/menu.xsd doc/rc-mouse-focus.xml data/rc.xsd
%dir %_sysconfdir/xdg/%name
%config(noreplace) %_sysconfdir/xdg/openbox/menu.xml
%config(noreplace) %_sysconfdir/xdg/openbox/rc.xml
%config(noreplace) %_sysconfdir/xdg/openbox/autostart
%config(noreplace) %_sysconfdir/xdg/openbox/environment
%_bindir/obxprop
%_bindir/openbox
%_bindir/openbox-pipemenu
%_bindir/openbox-session
%_bindir/xcompmgr-autostart
%_libexecdir/openbox-autostart
%_libexecdir/openbox-xdg-autostart
%_datadir/xsessions/openbox.desktop
%doc %_mandir/man1/obxprop.1*
%doc %_mandir/man1/openbox-session.1*
%doc %_mandir/man1/openbox.1*
%_datadir/themes/*
%_datadir/pixmaps/openbox.png
%_datadir/applications/openbox.desktop

%files -n libobrender32
%defattr(-,root,root)
%_libdir/libobrender.so.*

%files -n libobt2
%defattr(-,root,root)
%_libdir/libobt.so.*

%files gnome
%defattr(-,root,root)
%_bindir/gdm-control
%_bindir/gnome-panel-control
%_bindir/openbox-gnome-session
%_datadir/xsessions/openbox-gnome.desktop
%dir %_datadir/gnome
%dir %_datadir/gnome/wm-properties
%_datadir/gnome/wm-properties/openbox.desktop
%doc %_mandir/man1/openbox-gnome-session.1*
%_datadir/gnome-session/sessions/openbox-gnome.session
%_datadir/gnome-session/sessions/openbox-gnome-fallback.session

%files kde
%defattr(-,root,root)
%_bindir/openbox-kde-session
%_datadir/xsessions/openbox-kde.desktop
%doc %_mandir/man1/openbox-kde-session.1*

%files devel
%defattr(-,root,root)
%_includedir/%name
%_libdir/pkgconfig/obt-*.pc
%_libdir/pkgconfig/obrender-*.pc
%_libdir/libobt.so
%_libdir/libobrender.so

%changelog
openSUSE Build Service is sponsored by