libyui/libyui.spec

180 lines
4.7 KiB
RPMSpec
Raw Normal View History

%global commit 4d4bf96e92e551a437257646f8987b0fe54c3d9f
2013-05-15 19:06:23 +00:00
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global libsuffix yui
%global major_so_ver 5
2013-05-15 19:06:23 +00:00
# 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.
# 0 = release build
# 1 = temporary build for buildroot
%global no_ui_dep 0
2013-05-15 19:06:23 +00:00
%global _hardened_build 1
Name: lib%{libsuffix}
Version: 3.0.5
Release: 1%{?dist}
2013-05-15 19:06:23 +00:00
License: LGPLv2 or LGPLv3
Source0: https://github.com/%{name}/%{name}/archive/%{commit}/%{name}-%{version}-%{shortcommit}.tar.gz
Group: System Environment/Libraries
BuildRequires: boost-devel
BuildRequires: cmake >= 2.8
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: graphviz
BuildRequires: pkgconfig
%if !%{no_ui_dep}
Requires: yui-ui%{?_isa} = %{major_so_ver}
%endif
2013-05-15 19:06:23 +00:00
URL: https://github.com/%{name}/%{name}/
Summary: GUI-abstraction library
%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
Group: Development/Libraries
Requires: boost-devel%{?_isa}
Requires: cmake%{?_isa}
Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: Files needed for developing with %{name}
%description devel
%{name} can be used independently of YaST for generic (C++) applications
and has very few dependencies.
%package doc
Group: Documentation
BuildArch: noarch
Summary: Documentation files for %{name}
%description doc
This package includes the developer's documentation as HTML and some
brief examples how to build a UI using %{name}.
%prep
%setup -q -n %{name}-%{commit}
./bootstrap.sh
%build
mkdir -p build
cd build
%cmake ..\
-DPREFIX=%{_prefix} \
-DLIB_DIR=%{_libdir} \
-DDOC_DIR=%{_defaultdocdir} \
-DDOC_SUBDIR=%{name}-%{version} \
-DINSTALL_DOCS=ON \
-DSKIP_LATEX=ON \
-DCMAKE_BUILD_TYPE=RELEASE \
-DRESPECT_FLAGS=ON
2013-05-15 19:06:23 +00:00
make %{?_smp_mflags}
make %{?_smp_mflags} docs
%install
cd build
%make_install
install -m0755 -d %{buildroot}/%{_libdir}/%{libsuffix}
install -m0755 -d %{buildroot}/%{_datadir}/%{name}/theme
install -pm0644 ../COPYING* %{buildroot}/%{_defaultdocdir}/%{name}-%{version}
install -pm0644 ../ChangeLog %{buildroot}/%{_defaultdocdir}/%{name}-%{version}
%fdupes %{buildroot}/%{_defaultdocdir}/%{name}-%{version}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%{_libdir}/lib*.so.%{major_so_ver}*
2013-05-15 19:06:23 +00:00
%dir %{_libdir}/%{libsuffix}
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/theme
%dir %{_defaultdocdir}/%{name}-%{version}
%doc %{_defaultdocdir}/%{name}-%{version}/C*
%files devel
%{_libdir}/lib*.so
%{_includedir}/%{libsuffix}
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/cmake/%{name}
%{_datadir}/%{name}/buildtools
%files doc
%dir %{_defaultdocdir}/%{name}-%{version}
%doc %{_defaultdocdir}/%{name}-%{version}/*/
%changelog
* 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`
- removed macros from changelog
* 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
2013-05-15 19:06:23 +00:00
* 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
2013-05-15 19:06:23 +00:00
useful as a car without gas and tires.
- add -devel Provides: yui-ui to provide a FAKE yui-ui to
2013-05-15 19:06:23 +00:00
satisfy dependencies during rpmbuild of the UI-plugins and made sure this
is known by documenting this in libyui-devel description.
2013-05-15 19:06:23 +00:00
- 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.