Blob Blame History Raw
%global libsuffix yui
%global major_so_ver 6

# This flag breaks the dependency loop between libyui and ui plugin packages
# to make it possible to (re)build plugin packages for libyui ABI changes.
# Uncomment next line when rebuilding on ABI changes.
%global no_ui_dep 1

Name:			lib%{libsuffix}
Version:		3.0.13
Release:		2%{?dist}
Summary:		GUI-abstraction library

License:		(LGPLv2 or LGPLv3) and MIT
URL:			https://github.com/%{name}/%{name}
Source0:		%{url}/archive/%{name}/master/%{version}.tar.gz#/%{name}-%{version}.tar.gz

BuildRequires:		boost-devel
BuildRequires:		cmake		>= 2.8
BuildRequires:		doxygen
BuildRequires:		fdupes
BuildRequires:		graphviz

%{?!no_ui_dep:Requires:	yui-ui%{?_isa}	== %{major_so_ver}}

%description
This is the user interface engine that provides the abstraction
from graphical user interfaces (Qt, Gtk) and text based user
interfaces (ncurses).

Originally developed for YaST, %{name} can now be used
independently of YaST for generic (C++) applications.

%{name} has very few dependencies.


%package devel
Summary:		Files needed for developing with %{name}

Requires:		boost-devel%{?_isa}
Requires:		%{name}%{?_isa} = %{version}-%{release}

%if 0%{?fedora} && 0%{?fedora} <= 22
Obsoletes:		%{name}-devel-common <= %{version}-%{release}
%endif #0%{?fedora} && 0%{?fedora} <= 22

%description devel
%{name} can be used independently of YaST for generic (C++)
applications and has very few dependencies.


%package doc
Summary:		Documentation files for %{name}
BuildArch:		noarch

%description doc
This package includes the developer's documentation and some
brief examples how to build a UI using %{name}.


%prep
%setup -qn %{name}-%{name}-master-%{version}
./bootstrap.sh


%build
mkdir -p build
pushd build
%cmake						\
	-DPREFIX=%{_prefix}			\
	-DLIB_DIR=%{_libdir}			\
	-DCMAKE_BUILD_TYPE=RELEASE		\
	-DRESPECT_FLAGS=ON			\
	..

make %{?_smp_mflags}
make %{?_smp_mflags} docs
popd


%install
pushd build
mkdir -p %{buildroot}%{_libdir}/%{libsuffix}	\
	%{buildroot}%{_datadir}/%{name}/theme

%make_install

rm -rf	%{buildroot}%{_defaultdocdir}		\
	../examples/CMake*			\
	doc/html/*.m*

%fdupes doc/html
popd


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


%files
%doc ChangeLog COPYING*
%{_libdir}/%{name}.so.%{major_so_ver}*
%dir %{_libdir}/%{libsuffix}
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/theme

%files devel
%{_datadir}/%{name}/buildtools
%{_includedir}/%{libsuffix}
%{_libdir}/%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/cmake

%files doc
%doc ChangeLog COPYING* examples/ build/doc/html/


%changelog
* Fri May 23 2014 Björn Esser <bjoern.esser@gmail.com> - 3.0.13-2
- remove build of pdf-autodocs
- minor improvents on spec

* Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 3.0.13-1
- Rebuild for boost 1.55.0

* Tue Mar 18 2014 Björn Esser <bjoern.esser@gmail.com> - 3.0.13-0
- new upstream release (#1048445)

* Fri Aug 30 2013 Björn Esser <bjoern.esser@gmail.com> - 3.0.10-1
- new upstream version

* Tue Jul 30 2013 Petr Machata <pmachata@redhat.com> - 3.0.9-2
- Rebuild for boost 1.54.0

* Sat Jul 27 2013 Björn Esser <bjoern.esser@gmail.com> - 3.0.9-1
- new upstream version
- restructured spec for better readability
- removed %%commit, using direct github-tarball
- removed hardening flags and Group-tag
- removed CMake-Requires from devel-pkg
- added devel-common-pkg
- fixed License
- installing docs manually, adding PDF to doc-pkg

* Thu May 16 2013 Björn Esser <bjoern.esser@gmail.com> - 3.0.5-2
- fixed -doc licensing html/ is LGPLv2 or LGPLv3 examples/ is MIT

* Thu May 16 2013 Björn Esser <bjoern.esser@gmail.com> - 3.0.5-1
- new upstream version: obsoletes Patch0/1
- modified Requires: yui_ui to to depend on %%{major_so_ver}
- install lib*.so.%%{major_so_ver}* in main-pkg not lib*.so.*
- add `-DRESPECT_FLAGS=ON`

* Wed May 15 2013 Björn Esser <bjoern.esser@gmail.com> - 3.0.4-2
- readded Requires: yui_ui with conditional for ABI changes as proposed:
  https://bugzilla.redhat.com/show_bug.cgi?id=959926#c9

* Wed May 15 2013 Björn Esser <bjoern.esser@gmail.com> - 3.0.4-1
- new upstream version
- add Patch1 to skip generation of pdf-docs if doxygen-latex is installed.
- added needed bootstrap to prep

* Tue May 14 2013 Björn Esser <bjoern.esser@gmail.com> - 3.0.3-3
- removed macro from Patch0.
- fixed typo -> s/pakage/package/
- removed Provides/Requires: yui_ui

* Mon May 13 2013 Björn Esser <bjoern.esser@gmail.com> - 3.0.3-2
- fixup as suggested in https://bugzilla.redhat.com/show_bug.cgi?id=959926#c2
- add Patch0 to obey conventions about the compiler flags set in the system
  rpm configuration. See:
  https://fedoraproject.org/wiki/Packaging:Guidelines#Compiler_flags
- fixup as suggested in https://bugzilla.redhat.com/show_bug.cgi?id=959926#c4
- build a hardened version just in case
- add Requires: yui-ui, because libyui without UI-plugins is as
  useful as a car without gas and tires.
- add -devel Provides: yui-ui to provide a FAKE yui-ui to
  satisfy dependencies during rpmbuild of the UI-plugins and made sure this
  is known by documenting this in libyui-devel description.
- add -devel Requires: cmake to solve the /usr/lib*/cmake/ ownership-problem,
  which is needed for libyui*-builds anyways.

* Mon May 06 2013 Björn Esser <bjoern.esser@gmail.com> - 3.0.3-1
- Initial RPM release.