libyui/libyui.spec

379 lines
12 KiB
RPMSpec

%global major_so_ver 8
# Place rpm-macros into proper location.
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
# Setup _pkgdocdir if not defined already.
%{!?_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
# Define libsuffix.
%global libsuffix yui
# CMake-builds go out-of-tree.
%global _cmake_build_subdir build-%{_target_platform}
Name: lib%{libsuffix}
Version: 3.3.3
Release: 6%{?dist}
Summary: GUI-abstraction library
License: (LGPLv2 or LGPLv3) and MIT
URL: https://github.com/%{name}/%{name}
Source0: %{url}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
# Based on https://github.com/libyui/libyui/commit/b1f593cd99fd33cc3f0cf9b4f5151f672b68d96e
Patch0: fix_gcc8.patch
BuildRequires: gcc-c++
BuildRequires: boost-devel
BuildRequires: cmake
%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}
%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
BuildRequires: doxygen
BuildRequires: graphviz
BuildRequires: hardlink
%description doc
This package includes the developer's documentation and some
brief examples how to build a UI using %{name}.
%prep
%autosetup -p 1
./bootstrap.sh
%build
%{__mkdir} -p %{_cmake_build_subdir}
pushd %{_cmake_build_subdir}
%cmake \
-DYPREFIX=%{_prefix} \
-DLIB_DIR=%{_libdir} \
-DCMAKE_BUILD_TYPE=RELEASE \
-DRESPECT_FLAGS=ON \
-DSKIP_LATEX=ON \
..
%make_build
%make_build docs
popd
%install
pushd %{_cmake_build_subdir}
%{__mkdir} -p %{buildroot}%{_libdir}/%{libsuffix} \
%{buildroot}%{_datadir}/%{name}/theme
%make_install
# Create a macro for use in other spec-files.
%{__mkdir} -p %{buildroot}/%{macrosdir}
%{__cat} << EOF > %{buildroot}/%{macrosdir}/macros.%{name}
%_%{name}_major_so_ver %{major_so_ver}
%_%{name}_datadir %%{_datadir}/%{name}
%_%{name}_includedir %%{_includedir}/%{libsuffix}
%_%{name}_plugindir %%{_libdir}/%{libsuffix}
%_%{name}_themedir %%{_datadir}/%{name}/theme
EOF
# Delete obsolete files.
%{__rm} -rf %{buildroot}%{_defaultdocdir} \
../examples/{CMake*,.gitignore} \
doc/html/*.m*
# Install documentation.
%{__mkdir} -p %{buildroot}%{?_pkgdocdir}
%{__cp} -a ../README.md ../package/libyui.changes \
../examples/ doc/html/ \
%{buildroot}%{?_pkgdocdir}
# Hard-link documentation.
%{_sbindir}/hardlink -cv %{buildroot}%{?_pkgdocdir}/html
popd
%ldconfig_scriptlets
%files
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/theme
%dir %{_libdir}/%{libsuffix}
%doc %dir %{?_pkgdocdir}
%doc %{?_pkgdocdir}/README.md
%license COPYING*
%{_libdir}/%{name}.so.%{major_so_ver}*
%files devel
%doc %dir %{?_pkgdocdir}
%doc %{?_pkgdocdir}/%{name}.changes
%{_datadir}/%{name}/buildtools
%{_includedir}/%{libsuffix}
%{_libdir}/%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/cmake/%{name}
%{macrosdir}/macros.%{name}
%files doc
# Pickup license-files from main-pkg's license-dir
# If there's no license-dir they are picked up by %%doc previously
%{?_licensedir:%license %{_datadir}/licenses/%{name}*}
%doc %{?_pkgdocdir}
%changelog
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Aug 13 2018 Leigh Scott <leigh123linux@googlemail.com> - 3.3.3-4
- Fix gcc-8 build issue
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Björn Esser <besser82@fedoraproject.org> - 3.3.3-1
- New upstream release
- Dependency on cmake-filesystem is autogenerated now
- Skip building of LaTeX-docs
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Sun Jul 30 2017 Björn Esser <besser82@fedoraproject.org> - 3.3.2-6
- Require cmake-filesystem
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Jul 03 2017 Jonathan Wakely <jwakely@redhat.com> - 3.3.2-4
- Rebuilt for Boost 1.64
* Sat Apr 29 2017 Björn Esser <besser82@fedoraproject.org> - 3.3.2-3
- Rebuilt for bootstrapping new arch: s390x
* Sun Apr 23 2017 Björn Esser <besser82@fedoraproject.org> - 3.3.2-2
- Fix macros-file
* Tue Apr 18 2017 Björn Esser <besser82@fedoraproject.org> - 3.3.2-1
- New upstream release
- Drop patches, merged upstream
- Improve macros-file
* Sun Apr 16 2017 Björn Esser <besser82@fedoraproject.org> - 3.3.1-6
- Updated patch
* Sat Apr 15 2017 Björn Esser <besser82@fedoraproject.org> - 3.3.1-5
- Updated patches
* Fri Apr 14 2017 Björn Esser <besser82@fedoraproject.org> - 3.3.1-4
- Add README.md to %%doc
* Fri Apr 14 2017 Björn Esser <besser82@fedoraproject.org> - 3.3.1-3
- Updated patches
- Add some rpm-macros to macros-file
* Fri Apr 14 2017 Björn Esser <besser82@fedoraproject.org> - 3.3.1-2
- Add patches adding some improvements
* Thu Apr 13 2017 Björn Esser <besser82@fedoraproject.org> - 3.3.1-1
- New upstream release
* Thu Apr 13 2017 Björn Esser <besser82@fedoraproject.org> - 3.3.0-1
- New upstream release
- Spec-file cosmetics
* Tue Apr 11 2017 Björn Esser <besser82@fedoraproject.org> - 3.2.9-1
- New upstream release
* Mon Apr 10 2017 Björn Esser <besser82@fedoraproject.org> - 3.2.8-4
- Use rich-dependencies instead of virtual provides
- Add macro to share major so-ver with libyui-*-packages
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Jan 27 2017 Jonathan Wakely <jwakely@redhat.com> - 3.2.8-2
- Rebuilt for Boost 1.63
* Fri Nov 18 2016 Christian Dersch <lupinix@mailbox.org> - 3.2.8-1
- new version
* Wed Mar 30 2016 Björn Esser <fedora@besser82.io> - 3.2.5-1
- new upstream release
- drop Patch0, applied in upstream tarball
* Wed Mar 30 2016 Björn Esser <fedora@besser82.io> - 3.2.4-2
- add Patch0, fix nullptr-checks with GCC6 in YDialog
- do not append '-fno-delete-null-pointer-checks' to %%optflags,
keeping optimized performance
* Tue Mar 29 2016 Björn Esser <fedora@besser82.io> - 3.2.4-1
- new upstream release
- drop Patch1, applied in upstream tarball
- keep nullptr-checks with GCC6
- handle %%license and %%doc properly
* Wed Feb 10 2016 Ralf Corsépius <corsepiu@fedoraproject.org> - 3.2.1-5
- Add 0001-Fixed-a-compilation-error-in-YTableCell-with-GCC-6-b.patch
(Fix F24FTBFS)
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jan 15 2016 Jonathan Wakely <jwakely@redhat.com> - 3.2.1-3
- Rebuilt for Boost 1.60
* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 3.2.1-2
- Rebuilt for Boost 1.59
* Thu Aug 27 2015 Björn Esser <bjoern.esser@gmail.com> - 3.2.1-1
- new upstream release
* Thu Aug 27 2015 Björn Esser <bjoern.esser@gmail.com> - 3.2.1-0.1
- bootstrapping for so-name-bump
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.5-6
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 3.1.5-5
- rebuild for Boost 1.58
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sun May 03 2015 Kalev Lember <kalevlember@gmail.com> - 3.1.5-3
- Rebuilt for GCC 5 C++11 ABI change
* Mon Jan 26 2015 Petr Machata <pmachata@redhat.com> - 3.1.5-2
- Rebuild for boost 1.57.0
* Mon Jan 19 2015 Björn Esser <bjoern.esser@gmail.com> - 3.1.5-1
- new upstream release (#1183540)
- release-build
* Mon Jan 19 2015 Björn Esser <bjoern.esser@gmail.com> - 3.1.5-0.1
- new upstream release (#1183540)
- bootstrap-build for so-name-bump
- purged ldconf-override
- keep doc-files in unfied %%{_pkgdocdir}
- small improvements to spec-file
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.13-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.13-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sun May 25 2014 Björn Esser <bjoern.esser@gmail.com> - 3.0.13-6
- fix dir: ldconf.so.conf.d ---> ld.so.conf.d
* Sat May 24 2014 Björn Esser <bjoern.esser@gmail.com> - 3.0.13-5
- add %%{_sysconfdir}/ldconf.so.conf.d/%%{name}-%%{_arch}.conf
- add COPYING.gpl-3
* Sat May 24 2014 Björn Esser <bjoern.esser@gmail.com> - 3.0.13-4
- no need to provide `%%{name}-devel-common`
* Fri May 23 2014 Björn Esser <bjoern.esser@gmail.com> - 3.0.13-3
- rebuilt with dependency on yui-ui with strict abi
* 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.