From 4d1e8b4e2b9e0a48b2611153896f381689ec92d9 Mon Sep 17 00:00:00 2001 From: Sofia Boldyreva Date: Mon, 11 Sep 2023 14:42:16 +0200 Subject: [PATCH] Import libyui-4.2.16 --- .gitignore | 1 + .libyui.metadata | 1 + SPECS/libyui.spec | 552 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 554 insertions(+) create mode 100644 .gitignore create mode 100644 .libyui.metadata create mode 100644 SPECS/libyui.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..011cfac --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libyui-4.2.16.tar.gz diff --git a/.libyui.metadata b/.libyui.metadata new file mode 100644 index 0000000..8d31be6 --- /dev/null +++ b/.libyui.metadata @@ -0,0 +1 @@ +51fda5fda5dee822d0d0f5df9b1615ebaea42e4e SOURCES/libyui-4.2.16.tar.gz diff --git a/SPECS/libyui.spec b/SPECS/libyui.spec new file mode 100644 index 0000000..bdb99cc --- /dev/null +++ b/SPECS/libyui.spec @@ -0,0 +1,552 @@ +%define __cmake_builddir build + +%global major_so_ver 15 + +%define libname libyui +%define develname libyui-devel + +# Define libsuffix. +%global libsuffix yui + +#-------------------------------------------------------- +# Package libyui-ncurses +%define yui_ncurses_name libyui-ncurses + +%define libncurses libyui-ncurses +%define devncurses libyui-ncurses-devel +#-------------------------------------------------------- +# Package libyui-qt +%define yui_qt_name libyui-qt + +%define libqt libyui-qt +%define devqt libyui-qt-devel + +%define libzypp_devel_version libzypp-devel >= 17.21.0 + + +Name: %{libname} +Version: 4.2.16 +Release: 1%{?dist} +Summary: GUI-abstraction library + +License: (LGPLv2 or LGPLv3) and MIT +URL: https://github.com/%{name}/%{name} +Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz + + +BuildRequires: gcc-c++ +BuildRequires: boost-devel +BuildRequires: libtool +BuildRequires: perl-devel +BuildRequires: rubygems +BuildRequires: swig +BuildRequires: fontconfig-devel +BuildRequires: perl-macros +BuildRequires: python3-devel + +BuildRequires: pkgconfig(ruby) +BuildRequires: pkgconfig(libpng) + +BuildRequires: pkgconfig(Qt5Core) +BuildRequires: pkgconfig(Qt5Gui) +BuildRequires: pkgconfig(Qt5Svg) +BuildRequires: pkgconfig(Qt5Widgets) +BuildRequires: pkgconfig(Qt5X11Extras) + +BuildRequires: pkgconfig(ncursesw) +BuildRequires: pkgconfig(ncurses) + + +%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. + +#---------------------------------------------------------- +# libyui + +%files +%dir %{_datadir}/%{name} +%license COPYING* +%{_libdir}/%{name}.so.%{major_so_ver}* + + +#---------------------------------------------------------- +# libyui-devel + +%package -n %develname +Summary: libYUI, YaST2 User Interface Engine - header files +Group: Development/C++ +Requires: %{libname} >= %{version} +Requires: boost-devel +Provides: %{name}-devel = %{version}-%{release} +Provides: yui-devel = %{version}-%{release} + +%description -n %develname +This is the development package for libyui user interface engine that provides +the abstraction from graphical user interfaces (Qt, Gtk) and text based user +interfaces (ncurses). + +%files -n %develname +%{_libdir}/libyui.so +%{_libdir}/pkgconfig/libyui.pc +%{_includedir}/yui/*.h +%{_datadir}/libyui/buildtools + + + +#----------------------------------------------------------------------- +# libyui-qt + +%package -n %libqt +Summary: Libyui - Qt (graphical) user interface +Group: System/Libraries +Requires: %{_lib}qt5x11extras5 +Provides: %{yui_qt_name} = %{version}-%{release} +Obsoletes: %{_lib}yui%{major_so_ver}-qt < 4.2.15 + +%description -n %libqt +This package contains the Qt (graphical) user interface component for libyui. + +%files -n %libqt +%doc COPYING* +%{_libdir}/yui/libyui-qt.so.%{major_so_ver}* + +#----------------------------------------------------------------------- +# libyui-qt-devel + +%package -n %devqt +Summary: Libyui - Qt (graphical) user interface header files +Group: Development/KDE and Qt +Requires: libyui-devel +Requires: %{yui_qt_name} = %{version}-%{release} +Provides: yui-qt-devel = %{version}-%{release} + +%description -n %devqt +This package contains the header files for the Qt based user interface +component for libyui. + +This package is not needed to develop libyui-based applications, only to +develop extensions for libyui-qt. + +%files -n %devqt +%{_includedir}/yui/qt +%{_libdir}/yui/libyui-qt*.so +%{_libdir}/pkgconfig/libyui-qt.pc + + +#----------------------------------------------------------------------- +# libyui-ncurses + +%package -n %libncurses +Summary: Libyui - NCurses (text based) user interface +Group: System/Libraries +Provides: %{yui_ncurses_name} = %{version}-%{release} +Obsoletes: %{_lib}yui%{major_so_ver}-ncurses < 4.2.15 + +%description -n %libncurses +This package contains the NCurses (text based) user interface component for +libyui. + +%files -n %libncurses +%doc COPYING* +%{_libdir}/yui/libyui-ncurses.so.%{major_so_ver}* + +#----------------------------------------------------------------------- +# libyui-ncurses-devel + +%package -n %devncurses +Summary: Libyui - Header fles for the NCurses (text based) user interface +Group: Development/Other +Requires: libyui-devel +Requires: %{yui_ncurses_name} = %{version}-%{release} +Provides: yui-ncurses-devel = %{version}-%{release} + +%description -n %devncurses +This package contains the header files for the NCurses (text based) user +interface component for libyui. + +This package is not needed to develop libyui-based applications, only to +develop extensions for libyui-ncurses. + +%files -n %devncurses +%{_libdir}/yui/libyui-ncurses*.so +%{_includedir}/yui/ncurses +%{_libdir}/pkgconfig/libyui-ncurses.pc + + +#---------------------------------------------------------- +# libyui-ncurses-tools + +%package -n %{yui_ncurses_name}-tools + +Summary: Libyui - tools for the NCurses (text based) user interface +Group: System/Libraries +Requires: screen + +%description -n %{yui_ncurses_name}-tools +This package contains tools for the NCurses (text based) user interface +component for libyui: + +libyui-terminal - useful for testing on headless machines + +%files -n %{yui_ncurses_name}-tools +%{_bindir}/libyui-terminal + +#---------------------------------------------------------- +# ruby-yui + +%package -n ruby-yui +License: GPLv2+ +Summary: Ruby bindings for libyui +Group: Development/Ruby + +%description -n ruby-yui +This package provides Ruby language bindings to access functions of libyui, the +YaST User Interface engine that provides the abstraction from graphical user +interfaces (Qt, Gtk) and text based user interfaces (ncurses). + +%files -n ruby-yui +%doc libyui-bindings/swig/ruby/examples/*.rb +%{ruby_vendorarchdir}/_yui.so + +#---------------------------------------------------------- +# python3-yui + +%package -n python3-yui +License: GPLv2+ +Summary: Python 3 bindings for libyui +Group: Development/Python +%{?python_provide:%python_provide python3-yui} + +%description -n python3-yui +This package provides Python 3 language bindings to access functions of libyui, +the YaST User Interface engine that provides the abstraction from graphical +user interfaces (Qt, Gtk) and text based user interfaces (ncurses). + +%files -n python3-yui +%doc libyui-bindings/swig/python/examples/*.py +%{python3_sitearch}/_yui.so +%{python3_sitearch}/yui.* +%{python3_sitearch}/__pycache__/* + +#---------------------------------------------------------- +# perl-yui + +%package -n perl-yui +License: GPLv2+ +Summary: Perl bindings for libyui +Group: Development/Perl + +%description -n perl-yui +This package provides Perl language bindings to access functions of libyui, the +YaST User Interface engine that provides the abstraction from graphical user +interfaces (Qt, Gtk) and text based user interfaces (ncurses). + +%files -n perl-yui +%doc libyui-bindings/swig/perl/examples/*.pl +%{perl_vendorarch}/yui.so +%{perl_vendorlib}/yui.pm + +#---------------------------------------------------------- + + +%prep +%autosetup + + +%build + for pkgname in libyui libyui-qt libyui-ncurses libyui-bindings ;do + pushd $pkgname + + %cmake \ + -S . -B %{__cmake_builddir} \ + -DWERROR=FALSE \ + -DBUILD_EXAMPLES=OFF \ + -DWITH_MONO=OFF \ + -DPYTHON_EXECUTABLE=%{python3} \ + -DPYTHON_INCLUDE_DIR=%(%{__python3} -Ic "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \ + -DPYTHON_SITEDIR=%{python3_sitearch} \ + -DPYTHON_LIB_DIR=%{python3_sitelib} + + %cmake_build + + popd + done + +%install + +for pkgname in libyui libyui-qt libyui-ncurses libyui-bindings ;do + pushd $pkgname + %cmake_install + popd +done + +install -m0755 -d %{buildroot}%{_libdir}/yui + + +%changelog + +* Mon Sep 11 2023 Sofia Boldyreva - 4.2.16-1 +- Replaced pkgconfig(python3) with python3-devel in BuildRequires to build for AlmaLinux 8 +- Added -S . -B %%{__cmake_builddir}, edited -DPYTHON_INCLUDE_DIR=%%(%%{__python3} -Ic "from distutils.sysconfig import get_python_inc; print(get_python_inc())") to build for AlmaLinux 8 + +* Tue Feb 22 2022 Onuralp Sezer - 4.2.16-1 +- Version 4.2.16 + +* Thu Jan 20 2022 Fedora Release Engineering - 3.10.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 3.10.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 3.10.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Sep 14 2020 Jeff Law - 3.10.0-2 +- Fix dynamic casts to avoid gcc-11 diagnostics + +* Sat Aug 01 2020 Neal Gompa - 3.10.0-1 +- Rebase to 3.10.0 (#1669818) + +* Tue Jul 28 2020 Fedora Release Engineering - 3.3.3-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 3.3.3-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Aug 14 2019 Jitka Plesnikova - 3.3.3-7 +- Fix FTBFS - updated path of hardlink + +* 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.