From 30273f0c79c98bfeefaac6f813c2b98ad0ac5f02 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Feb 21 2022 22:16:28 +0000 Subject: Version 4.2.16 Signed-off-by: Onuralp SEZER --- diff --git a/libyui-gcc11.patch b/libyui-gcc11.patch deleted file mode 100644 index 6dc2ae2..0000000 --- a/libyui-gcc11.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/examples/ManyWidgets.cc b/examples/ManyWidgets.cc -index b26856d..dd4fdb1 100644 ---- a/examples/ManyWidgets.cc -+++ b/examples/ManyWidgets.cc -@@ -130,10 +130,10 @@ std::string debugEvent( YBusyIndicator * busy, YEvent * event ) - switch ( event->eventType() ) - { - case YEvent::WidgetEvent: -- ev << "\n- " << YEvent::toString( dynamic_cast(event)->reason() ); -+ ev << "\n- " << YEvent::toString( dynamic_cast(*event).reason() ); - break; - case YEvent::KeyEvent: -- ev << "\n- " << dynamic_cast(event)->keySymbol(); -+ ev << "\n- " << dynamic_cast(*event).keySymbol(); - break; - default: - break; diff --git a/libyui.spec b/libyui.spec index f6b8401..7bf397a 100644 --- a/libyui.spec +++ b/libyui.spec @@ -1,30 +1,61 @@ -%undefine __cmake_in_source_build +%define __cmake_builddir build -%global major_so_ver 12 +%global major_so_ver 15 -# 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 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: lib%{libsuffix} -Version: 3.10.0 -Release: 5%{?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 -Patch0: libyui-gcc11.patch +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: cmake +BuildRequires: boost-devel +BuildRequires: libtool +BuildRequires: perl-devel +BuildRequires: rubygems +BuildRequires: swig +BuildRequires: fontconfig-devel +BuildRequires: perl-macros + +BuildRequires: pkgconfig(ruby) +BuildRequires: pkgconfig(python3) +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 @@ -36,112 +67,232 @@ 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}* + -%package devel -Summary: Files needed for developing with %{name} +#---------------------------------------------------------- +# libyui-devel -Requires: boost-devel%{?_isa} -Requires: %{name}%{?_isa} == %{version}-%{release} +%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 devel -%{name} can be used independently of YaST for generic (C++) -applications and has very few dependencies. +%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 -%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}. +#----------------------------------------------------------------------- +# 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 -%prep -%autosetup -p 1 -./bootstrap.sh +%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}* -%build -%cmake \ - -DYPREFIX=%{_prefix} \ - -DLIB_DIR=%{_libdir} \ - -DCMAKE_BUILD_TYPE=RELEASE \ - -DRESPECT_FLAGS=ON \ - -DSKIP_LATEX=ON \ - %{nil} +#----------------------------------------------------------------------- +# libyui-qt-devel -%cmake_build -%cmake_build --target docs +%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. -%install -mkdir -p %{buildroot}%{_libdir}/%{libsuffix} \ - %{buildroot}%{_datadir}/%{name}/theme +This package is not needed to develop libyui-based applications, only to +develop extensions for libyui-qt. -%cmake_install +%files -n %devqt +%{_includedir}/yui/qt +%{_libdir}/yui/libyui-qt*.so +%{_libdir}/pkgconfig/libyui-qt.pc -# 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} \ - %{_vpath_builddir}/doc/html/*.m* +#----------------------------------------------------------------------- +# libyui-ncurses -# Install documentation. -mkdir -p %{buildroot}%{?_pkgdocdir} -cp -a README.md package/libyui.changes \ - examples/ %{_vpath_builddir}/doc/html/ \ - %{buildroot}%{?_pkgdocdir} +%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 -# Hard-link documentation. -%{_bindir}/hardlink -cv %{buildroot}%{?_pkgdocdir}/html +%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}* -%ldconfig_scriptlets +#----------------------------------------------------------------------- +# 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} -%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}* +%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 -%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} +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: -%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} +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 \ + -DWERROR=FALSE \ + -DBUILD_EXAMPLES=OFF \ + -DWITH_MONO=OFF \ + -DPYTHON_EXECUTABLE=%{python3} \ + -DPYTHON_INCLUDE_DIR=%{_includedir}/python%{python3_version} \ + -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 +* 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 diff --git a/sources b/sources index 5b86e54..32d69d6 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (libyui-3.10.0.tar.gz) = 8c3186fdff7b3f6f49b25dcb7085f3906a2fa59b7e951b52a9c3aef62eb2b4941cfcfa59da334d4cc9445152130afe3214bd70b9e2efef67dbb9186a439b0d85 +SHA512 (libyui-4.2.16.tar.gz) = 22e8e91ffb9326a78b4312c147b3f8bb2394c46f14583b9c644bc820dbc7843b776f919863a1a5d054dcc3ca61c629e125f764290334fdb1441a40a887e95a6e +