223 lines
5.8 KiB
RPMSpec
223 lines
5.8 KiB
RPMSpec
# -*- rpm-spec -*-
|
|
|
|
%define with_mingw 0
|
|
%if 0%{?fedora}
|
|
%define with_mingw 0%{!?_without_mingw:1}
|
|
%endif
|
|
|
|
Summary: A library for managing OS information for virtualization
|
|
Name: libosinfo
|
|
Version: 1.11.0
|
|
Release: %autorelease
|
|
License: LGPL-2.1-or-later
|
|
Source: https://releases.pagure.org/%{name}/%{name}-%{version}.tar.xz
|
|
URL: https://libosinfo.org/
|
|
|
|
### Patches ###
|
|
# Fix build with libxml2-2.12.0
|
|
# https://gitlab.com/libosinfo/libosinfo/-/merge_requests/155
|
|
Patch: 0001-osinfo-Make-xmlError-struct-constant.patch
|
|
|
|
BuildRequires: meson
|
|
BuildRequires: gcc
|
|
BuildRequires: gtk-doc
|
|
BuildRequires: gettext-devel
|
|
BuildRequires: glib2-devel
|
|
BuildRequires: libxml2-devel >= 2.6.0
|
|
BuildRequires: libxslt-devel >= 1.0.0
|
|
%if 0%{?fedora} >= 37 || 0%{?rhel} >= 10
|
|
BuildRequires: libsoup3-devel
|
|
%else
|
|
BuildRequires: libsoup-devel
|
|
%endif
|
|
BuildRequires: vala
|
|
BuildRequires: /usr/bin/pod2man
|
|
BuildRequires: hwdata
|
|
BuildRequires: gobject-introspection-devel
|
|
BuildRequires: osinfo-db
|
|
BuildRequires: git
|
|
Requires: hwdata
|
|
Requires: osinfo-db
|
|
Requires: osinfo-db-tools
|
|
|
|
%if %{with_mingw}
|
|
BuildRequires: mingw32-filesystem
|
|
BuildRequires: mingw32-gcc
|
|
BuildRequires: mingw32-binutils
|
|
BuildRequires: mingw32-glib2
|
|
BuildRequires: mingw32-libxml2
|
|
BuildRequires: mingw32-libxslt
|
|
BuildRequires: mingw32-libsoup
|
|
|
|
BuildRequires: mingw64-filesystem
|
|
BuildRequires: mingw64-gcc
|
|
BuildRequires: mingw64-binutils
|
|
BuildRequires: mingw64-glib2
|
|
BuildRequires: mingw64-libxml2
|
|
BuildRequires: mingw64-libxslt
|
|
BuildRequires: mingw64-libsoup
|
|
%endif
|
|
|
|
%description
|
|
libosinfo is a library that allows virtualization provisioning tools to
|
|
determine the optimal device settings for a hypervisor/operating system
|
|
combination.
|
|
|
|
%package devel
|
|
Summary: Libraries, includes, etc. to compile with the libosinfo library
|
|
Requires: %{name} = %{version}-%{release}
|
|
Requires: pkgconfig
|
|
Requires: glib2-devel
|
|
# -vala subpackage removed in F30
|
|
Obsoletes: libosinfo-vala < 1.3.0-3
|
|
Provides: libosinfo-vala = %{version}-%{release}
|
|
|
|
%description devel
|
|
libosinfo is a library that allows virtualization provisioning tools to
|
|
determine the optimal device settings for a hypervisor/operating system
|
|
combination.
|
|
|
|
Libraries, includes, etc. to compile with the libosinfo library
|
|
|
|
%if %{with_mingw}
|
|
%package -n mingw32-libosinfo
|
|
Summary: %{summary}
|
|
BuildArch: noarch
|
|
|
|
Requires: pkgconfig
|
|
Requires: mingw32-osinfo-db
|
|
Requires: mingw32-osinfo-db-tools
|
|
|
|
%description -n mingw32-libosinfo
|
|
libosinfo is a library that allows virtualization provisioning tools to
|
|
determine the optimal device settings for a hypervisor/operating system
|
|
combination.
|
|
|
|
%package -n mingw64-libosinfo
|
|
Summary: %{summary}
|
|
BuildArch: noarch
|
|
|
|
Requires: pkgconfig
|
|
Requires: mingw64-osinfo-db
|
|
Requires: mingw64-osinfo-db-tools
|
|
|
|
%description -n mingw64-libosinfo
|
|
libosinfo is a library that allows virtualization provisioning tools to
|
|
determine the optimal device settings for a hypervisor/operating system
|
|
combination.
|
|
|
|
%{?mingw_debug_package}
|
|
%endif
|
|
|
|
%prep
|
|
%autosetup -S git
|
|
|
|
%build
|
|
%meson \
|
|
-Denable-gtk-doc=true \
|
|
-Denable-tests=true \
|
|
-Denable-introspection=enabled \
|
|
-Denable-vala=enabled
|
|
%meson_build
|
|
|
|
%if %{with_mingw}
|
|
%mingw_meson \
|
|
-Denable-gtk-doc=false \
|
|
-Denable-tests=false \
|
|
-Denable-introspection=disabled \
|
|
-Denable-vala=disabled
|
|
%mingw_ninja
|
|
%endif
|
|
|
|
%install
|
|
%meson_install
|
|
|
|
%find_lang %{name}
|
|
|
|
%if %{with_mingw}
|
|
%mingw_ninja_install
|
|
|
|
# Remove static libraries but DON'T remove *.dll.a files.
|
|
rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/libosinfo-1.0.a
|
|
rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/libosinfo-1.0.a
|
|
|
|
# Libtool files don't need to be bundled
|
|
find $RPM_BUILD_ROOT -name "*.la" -delete
|
|
|
|
# Manpages don't need to be bundled
|
|
rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/man
|
|
rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/man
|
|
|
|
rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/gtk-doc
|
|
rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/gtk-doc
|
|
|
|
%mingw_debug_install_post
|
|
|
|
%mingw_find_lang libosinfo
|
|
%endif
|
|
|
|
%check
|
|
%meson_test
|
|
|
|
%ldconfig_scriptlets
|
|
|
|
%files -f %{name}.lang
|
|
%doc AUTHORS ChangeLog COPYING.LIB NEWS README
|
|
%{_bindir}/osinfo-detect
|
|
%{_bindir}/osinfo-query
|
|
%{_bindir}/osinfo-install-script
|
|
%{_mandir}/man1/osinfo-detect.1*
|
|
%{_mandir}/man1/osinfo-query.1*
|
|
%{_mandir}/man1/osinfo-install-script.1*
|
|
%{_libdir}/%{name}-1.0.so.*
|
|
%{_libdir}/girepository-1.0/Libosinfo-1.0.typelib
|
|
|
|
%files devel
|
|
%{_libdir}/%{name}-1.0.so
|
|
%dir %{_includedir}/%{name}-1.0/
|
|
%dir %{_includedir}/%{name}-1.0/osinfo/
|
|
%{_includedir}/%{name}-1.0/osinfo/*.h
|
|
%{_libdir}/pkgconfig/%{name}-1.0.pc
|
|
%{_datadir}/gir-1.0/Libosinfo-1.0.gir
|
|
%{_datadir}/gtk-doc/html/Libosinfo
|
|
|
|
%dir %{_datadir}/vala
|
|
%dir %{_datadir}/vala/vapi
|
|
%{_datadir}/vala/vapi/libosinfo-1.0.deps
|
|
%{_datadir}/vala/vapi/libosinfo-1.0.vapi
|
|
|
|
%if %{with_mingw}
|
|
%files -n mingw32-libosinfo -f mingw32-libosinfo.lang
|
|
%doc AUTHORS ChangeLog COPYING.LIB NEWS README
|
|
%{mingw32_bindir}/osinfo-detect.exe
|
|
%{mingw32_bindir}/osinfo-install-script.exe
|
|
%{mingw32_bindir}/osinfo-query.exe
|
|
%{mingw32_bindir}/libosinfo-1.0-0.dll
|
|
%{mingw32_libdir}/libosinfo-1.0.dll.a
|
|
%{mingw32_libdir}/pkgconfig/libosinfo-1.0.pc
|
|
%dir %{mingw32_includedir}/libosinfo-1.0/
|
|
%dir %{mingw32_includedir}/libosinfo-1.0/osinfo
|
|
%{mingw32_includedir}/libosinfo-1.0/osinfo/*.h
|
|
%dir %{mingw32_datadir}/libosinfo
|
|
%{mingw32_datadir}/libosinfo/usb.ids
|
|
%{mingw32_datadir}/libosinfo/pci.ids
|
|
|
|
%files -n mingw64-libosinfo -f mingw64-libosinfo.lang
|
|
%doc AUTHORS ChangeLog COPYING.LIB NEWS README
|
|
%{mingw64_bindir}/osinfo-detect.exe
|
|
%{mingw64_bindir}/osinfo-install-script.exe
|
|
%{mingw64_bindir}/osinfo-query.exe
|
|
%{mingw64_bindir}/libosinfo-1.0-0.dll
|
|
%{mingw64_libdir}/libosinfo-1.0.dll.a
|
|
%{mingw64_libdir}/pkgconfig/libosinfo-1.0.pc
|
|
%dir %{mingw64_includedir}/libosinfo-1.0/
|
|
%dir %{mingw64_includedir}/libosinfo-1.0/osinfo
|
|
%{mingw64_includedir}/libosinfo-1.0/osinfo/*.h
|
|
%dir %{mingw64_datadir}/libosinfo
|
|
%{mingw64_datadir}/libosinfo/usb.ids
|
|
%{mingw64_datadir}/libosinfo/pci.ids
|
|
%endif
|
|
|
|
%changelog
|
|
%autochangelog
|