#
# Conditional build:
-%bcond_without apidocs # do not build and package API docs
+%bcond_without apidocs # API documentation
+%bcond_without static_libs # static library
%bcond_without vala # Vala API
Summary: GUsb - GObject wrapper for libusb1 library
Summary(pl.UTF-8): GUsb - obudowanie GObject biblioteki libusb1
Name: libgusb
-Version: 0.2.9
+Version: 0.4.9
Release: 1
License: LGPL v2.1+
Group: Libraries
-Source0: https://people.freedesktop.org/~hughsient/releases/%{name}-%{version}.tar.xz
-# Source0-md5: d4251e958aee7d19e39f8021e457942f
-BuildRequires: autoconf >= 2.63
-BuildRequires: automake >= 1:1.11
-BuildRequires: gtk-doc >= 1.9
-BuildRequires: glib2-devel >= 1:2.38.0
+#Source0Download: https://github.com/hughsie/libgusb/releases
+Source0: https://github.com/hughsie/libgusb/releases/download/%{version}/%{name}-%{version}.tar.xz
+# Source0-md5: 354a3227334991ea4e924843c144bd82
+URL: https://github.com/hughsie/libgusb
+BuildRequires: gcc >= 5:3.2
+BuildRequires: glib2-devel >= 1:2.44.0
BuildRequires: gobject-introspection-devel >= 1.29
-BuildRequires: libtool >= 2:2.2
-BuildRequires: libusb-devel >= 1.0.19
+%{?with_apidocs:BuildRequires: gi-docgen >= 2021.1}
+BuildRequires: json-glib-devel >= 1.1.1
+BuildRequires: libusb-devel >= 1.0.22
+BuildRequires: meson >= 0.56.0
+BuildRequires: ninja >= 1.5
BuildRequires: pkgconfig
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 2.029
+BuildRequires: sed >= 4.0
BuildRequires: tar >= 1:1.22
%{?with_vala:BuildRequires: vala >= 2:0.16}
BuildRequires: xz
-Requires: glib2 >= 1:2.38.0
-Requires: libusb >= 1.0.19
+Requires: glib2 >= 1:2.44.0
+Requires: libusb >= 1.0.22
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki GUsb
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: glib2-devel >= 1:2.38.0
-Requires: libusb-devel >= 1.0.19
+Requires: glib2-devel >= 1:2.44.0
+Requires: libusb-devel >= 1.0.22
%description devel
Header files for GUsb library.
Summary: GUsb API documentation
Summary(pl.UTF-8): Dokumentacja API biblioteki GUsb
Group: Documentation
+BuildArch: noarch
%description apidocs
API and internal documentation for GUsb library.
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
Requires: vala >= 2:0.16
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description -n vala-libgusb
Vala API for libgusb.
%setup -q
%build
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
- --disable-silent-rules \
- %{!?with_vala:--disable-vala} \
- --with-html-dir=%{_gtkdocdir}
-%{__make}
+%meson build \
+ %{!?with_static_libs:--default-library=shared} \
+ -Ddocs=%{__true_false apidocs} \
+ -Dvapi=%{__true_false vala}
+
+%ninja_build -C build
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
+%ninja_install -C build
-# obsoleted by pkg-config
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libgusb.la
+%if %{with apidocs}
+install -d $RPM_BUILD_ROOT%{_gidocdir}
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/libgusb $RPM_BUILD_ROOT%{_gidocdir}
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc AUTHORS MAINTAINERS NEWS README TODO
+%doc AUTHORS MAINTAINERS NEWS README.md
%attr(755,root,root) %{_bindir}/gusbcmd
%attr(755,root,root) %{_libdir}/libgusb.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libgusb.so.2
%{_datadir}/gir-1.0/GUsb-1.0.gir
%{_pkgconfigdir}/gusb.pc
+%if %{with static_libs}
%files static
%defattr(644,root,root,755)
%{_libdir}/libgusb.a
+%endif
%if %{with apidocs}
%files apidocs
%defattr(644,root,root,755)
-%{_gtkdocdir}/gusb
+%{_gidocdir}/libgusb
%endif
%if %{with vala}
%files -n vala-libgusb
%defattr(644,root,root,755)
+%{_datadir}/vala/vapi/gusb.deps
%{_datadir}/vala/vapi/gusb.vapi
%endif