#
# 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.1.3
+Version: 0.3.4
Release: 1
License: LGPL v2.1+
Group: Libraries
-Source0: http://people.freedesktop.org/~hughsient/releases/%{name}-%{version}.tar.xz
-# Source0-md5: 9cf5d2ef121f857c565189f82e9e7233
-BuildRequires: autoconf >= 2.63
-BuildRequires: automake >= 1:1.11
+Source0: https://people.freedesktop.org/~hughsient/releases/%{name}-%{version}.tar.xz
+# Source0-md5: 0f72fa5081f42fc798969027870eb384
+BuildRequires: gcc >= 5:3.2
+BuildRequires: glib2-devel >= 1:2.44.0
+BuildRequires: gobject-introspection-devel >= 1.29
BuildRequires: gtk-doc >= 1.9
-BuildRequires: glib2-devel >= 1:2.28.0
-BuildRequires: libtool >= 2:2.2
-BuildRequires: libusb-devel >= 1.0.0
+BuildRequires: libusb-devel >= 1.0.22
+BuildRequires: meson >= 0.46.0
+BuildRequires: ninja >= 1.5
BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.736
+BuildRequires: sed >= 4.0
BuildRequires: tar >= 1:1.22
-BuildRequires: udev-glib-devel
+%{?with_vala:BuildRequires: vala >= 2:0.16}
BuildRequires: xz
-Requires: glib2 >= 1:2.28.0
-Requires: libusb >= 1.0.0
+Requires: glib2 >= 1:2.44.0
+Requires: libusb >= 1.0.22
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
%description -l pl.UTF-8
GUsb to obudowanie GObject biblioteki libusb1, ułatwiające
-asynchroniczne sterowanie oraz przesyłanie danych (typu bulk jak i
-z użyciem przerwań) z właściwym przerywaniem i integracją w głównej
+asynchroniczne sterowanie oraz przesyłanie danych (typu bulk jak i z
+użyciem przerwań) z właściwym przerywaniem i integracją w głównej
pętli. Ułatwia to integrowanie niskopoziomowego przesyłania danych po
USB w wysokopoziomowej aplikacji lub demonie systemowym.
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki GUsb
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: glib2-devel >= 1:2.28.0
-Requires: libusb-devel >= 1.0.0
-Requires: udev-glib-devel
+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
+%if "%{_rpmversion}" >= "4.6"
+BuildArch: noarch
+%endif
%description apidocs
API and internal documentation for GUsb library.
%description apidocs -l pl.UTF-8
Dokumentacja API biblioteki GUsb.
+%package -n vala-libgusb
+Summary: Vala API for libgusb
+Summary(pl.UTF-8): API języka Vala do libgusb
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+Requires: vala >= 2:0.16
+%if "%{_rpmversion}" >= "4.6"
+BuildArch: noarch
+%endif
+
+%description -n vala-libgusb
+Vala API for libgusb.
+
+%description -n vala-libgusb -l pl.UTF-8
+API języka Vala do libgusb.
+
%prep
%setup -q
+%if %{with static_libs}
+%{__sed} -i -e 's/shared_library/library/' gusb/meson.build
+%endif
+
%build
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
- --disable-silent-rules \
- --with-html-dir=%{_gtkdocdir}
-%{__make}
+%meson build \
+ -Dvapi=%{__true_false vala}
+
+%ninja_build -C build
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
-
-# obsoleted by pkg-config
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libgusb.la
+%ninja_install -C build
%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
+%{_libdir}/girepository-1.0/GUsb-1.0.typelib
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libgusb.so
%{_includedir}/gusb-1
+%{_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
%endif
+
+%if %{with vala}
+%files -n vala-libgusb
+%defattr(644,root,root,755)
+%{_datadir}/vala/vapi/gusb.deps
+%{_datadir}/vala/vapi/gusb.vapi
+%endif