%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 - 3.3.3-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Fri Feb 01 2019 Fedora Release Engineering - 3.3.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Mon Aug 13 2018 Leigh Scott - 3.3.3-4 - Fix gcc-8 build issue * Fri Jul 13 2018 Fedora Release Engineering - 3.3.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Feb 07 2018 Fedora Release Engineering - 3.3.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Thu Aug 03 2017 Björn Esser - 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 - 3.3.2-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Sun Jul 30 2017 Björn Esser - 3.3.2-6 - Require cmake-filesystem * Wed Jul 26 2017 Fedora Release Engineering - 3.3.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Mon Jul 03 2017 Jonathan Wakely - 3.3.2-4 - Rebuilt for Boost 1.64 * Sat Apr 29 2017 Björn Esser - 3.3.2-3 - Rebuilt for bootstrapping new arch: s390x * Sun Apr 23 2017 Björn Esser - 3.3.2-2 - Fix macros-file * Tue Apr 18 2017 Björn Esser - 3.3.2-1 - New upstream release - Drop patches, merged upstream - Improve macros-file * Sun Apr 16 2017 Björn Esser - 3.3.1-6 - Updated patch * Sat Apr 15 2017 Björn Esser - 3.3.1-5 - Updated patches * Fri Apr 14 2017 Björn Esser - 3.3.1-4 - Add README.md to %%doc * Fri Apr 14 2017 Björn Esser - 3.3.1-3 - Updated patches - Add some rpm-macros to macros-file * Fri Apr 14 2017 Björn Esser - 3.3.1-2 - Add patches adding some improvements * Thu Apr 13 2017 Björn Esser - 3.3.1-1 - New upstream release * Thu Apr 13 2017 Björn Esser - 3.3.0-1 - New upstream release - Spec-file cosmetics * Tue Apr 11 2017 Björn Esser - 3.2.9-1 - New upstream release * Mon Apr 10 2017 Björn Esser - 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 - 3.2.8-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Fri Jan 27 2017 Jonathan Wakely - 3.2.8-2 - Rebuilt for Boost 1.63 * Fri Nov 18 2016 Christian Dersch - 3.2.8-1 - new version * Wed Mar 30 2016 Björn Esser - 3.2.5-1 - new upstream release - drop Patch0, applied in upstream tarball * Wed Mar 30 2016 Björn Esser - 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 - 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 - 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 - 3.2.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Fri Jan 15 2016 Jonathan Wakely - 3.2.1-3 - Rebuilt for Boost 1.60 * Thu Aug 27 2015 Jonathan Wakely - 3.2.1-2 - Rebuilt for Boost 1.59 * Thu Aug 27 2015 Björn Esser - 3.2.1-1 - new upstream release * Thu Aug 27 2015 Björn Esser - 3.2.1-0.1 - bootstrapping for so-name-bump * Wed Jul 29 2015 Fedora Release Engineering - 3.1.5-6 - Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 * Wed Jul 22 2015 David Tardon - 3.1.5-5 - rebuild for Boost 1.58 * Wed Jun 17 2015 Fedora Release Engineering - 3.1.5-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sun May 03 2015 Kalev Lember - 3.1.5-3 - Rebuilt for GCC 5 C++11 ABI change * Mon Jan 26 2015 Petr Machata - 3.1.5-2 - Rebuild for boost 1.57.0 * Mon Jan 19 2015 Björn Esser - 3.1.5-1 - new upstream release (#1183540) - release-build * Mon Jan 19 2015 Björn Esser - 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 - 3.0.13-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 3.0.13-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sun May 25 2014 Björn Esser - 3.0.13-6 - fix dir: ldconf.so.conf.d ---> ld.so.conf.d * Sat May 24 2014 Björn Esser - 3.0.13-5 - add %%{_sysconfdir}/ldconf.so.conf.d/%%{name}-%%{_arch}.conf - add COPYING.gpl-3 * Sat May 24 2014 Björn Esser - 3.0.13-4 - no need to provide `%%{name}-devel-common` * Fri May 23 2014 Björn Esser - 3.0.13-3 - rebuilt with dependency on yui-ui with strict abi * Fri May 23 2014 Björn Esser - 3.0.13-2 - remove build of pdf-autodocs - minor improvents on spec * Fri May 23 2014 Petr Machata - 3.0.13-1 - Rebuild for boost 1.55.0 * Tue Mar 18 2014 Björn Esser - 3.0.13-0 - new upstream release (#1048445) * Fri Aug 30 2013 Björn Esser - 3.0.10-1 - new upstream version * Tue Jul 30 2013 Petr Machata - 3.0.9-2 - Rebuild for boost 1.54.0 * Sat Jul 27 2013 Björn Esser - 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 - 3.0.5-2 - fixed -doc licensing html/ is LGPLv2 or LGPLv3 examples/ is MIT * Thu May 16 2013 Björn Esser - 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 - 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 - 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 - 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 - 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 - 3.0.3-1 - Initial RPM release.