+#
+# Conditional build:
+%bcond_without vala # Vala API
+
Summary: UPnP library based on GObject and libsoup
Summary(pl.UTF-8): Biblioteka UPnP oparta na bibliotekach GObject i libsoup
Name: gupnp
-# note: 0.18.x is stable, 0.19.x unstable
-Version: 0.18.2
+# note: 1.2.x is stable, 1.3.x unstable
+Version: 1.2.3
Release: 1
License: LGPL v2+
Group: Libraries
-Source0: http://ftp.gnome.org/pub/GNOME/sources/gupnp/0.18/%{name}-%{version}.tar.xz
-# Source0-md5: 9ce2bc56abf0275be9b1d0ecdf67e7bf
-URL: http://gupnp.org/
-BuildRequires: autoconf >= 2.64
-BuildRequires: automake >= 1:1.11
+Source0: http://ftp.gnome.org/pub/GNOME/sources/gupnp/1.2/%{name}-%{version}.tar.xz
+# Source0-md5: 08b2cedcdbbd0c66184995469a50fe52
+URL: https://wiki.gnome.org/Projects/GUPnP
BuildRequires: docbook-dtd412-xml
BuildRequires: docbook-dtd44-xml
-BuildRequires: glib2-devel >= 1:2.26.0
-BuildRequires: gobject-introspection-devel >= 0.6.4
-BuildRequires: gssdp-devel >= 0.12.0
-BuildRequires: gtk-doc >= 1.0
-BuildRequires: libsoup-devel >= 2.28.2
-BuildRequires: libtool >= 2:2.2
+BuildRequires: glib2-devel >= 1:2.58
+BuildRequires: gobject-introspection-devel >= 1.36.0
+BuildRequires: gssdp-devel >= 1.2.3
+BuildRequires: gtk-doc >= 1.14
+BuildRequires: libsoup-devel >= 2.48.0
BuildRequires: libuuid-devel >= 1.36
BuildRequires: libxml2-devel >= 1:2.6.30
+BuildRequires: meson >= 0.48.0
+BuildRequires: ninja >= 1.5
BuildRequires: pkgconfig
BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.736
+BuildRequires: sed >= 4.0
BuildRequires: tar >= 1:1.22
+%{?with_vala:BuildRequires: vala >= 2:0.20}
+%{?with_vala:BuildRequires: vala-gssdp >= 1.2.3}
BuildRequires: xz
-Requires: glib2 >= 1:2.26.0
-Requires: gssdp >= 0.12.0
-Requires: libsoup >= 2.28.2
+Requires: glib2 >= 1:2.58
+Requires: gssdp >= 1.2.3
+Requires: libsoup >= 2.48.0
+Requires: libuuid >= 1.36
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Summary(pl.UTF-8): Pliki nagłówkowe gupnp
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: glib2-devel >= 1:2.26.0
-Requires: gssdp-devel >= 0.12.0
-Requires: libsoup-devel >= 2.28.2
+Requires: glib2-devel >= 1:2.58
+Requires: gssdp-devel >= 1.2.3
+Requires: libsoup-devel >= 2.48.0
Requires: libuuid-devel >= 1.36
Requires: libxml2-devel >= 1:2.6.30
Summary(pl.UTF-8): Dokumentacja API gupnp
Group: Documentation
Requires: gtk-doc-common
+%if "%{_rpmversion}" >= "4.6"
+BuildArch: noarch
+%endif
%description apidocs
gupnp API documentation.
%description apidocs -l pl.UTF-8
Dokumentacja API gupnp.
+%package -n vala-gupnp
+Summary: Vala API for gupnp library
+Summary(pl.UTF-8): API języka Vala dla biblioteki gupnp
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+Requires: vala >= 2:0.20
+Requires: vala-gssdp >= 1.2.3
+%if "%{_rpmversion}" >= "4.6"
+BuildArch: noarch
+%endif
+
+%description -n vala-gupnp
+Vala API for gupnp library.
+
+%description -n vala-gupnp -l pl.UTF-8
+API języka Vala dla biblioteki gupnp.
+
%prep
%setup -q
+%{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' tools/gupnp-binding-tool-1.2
+
%build
-%{__gtkdocize}
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
- --disable-silent-rules \
- --enable-gtk-doc \
- --with-html-dir=%{_gtkdocdir} \
- --with-context-manager=network-manager
-
-%{__make}
+%meson build \
+ -Dcontext_manager=network-manager \
+ -Dgtk_doc=true
+
+%ninja_build -C build
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
-
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
+%ninja_install -C build
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README
-%attr(755,root,root) %{_bindir}/gupnp-binding-tool
-%attr(755,root,root) %{_libdir}/libgupnp-1.0.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgupnp-1.0.so.4
-%{_libdir}/girepository-1.0/GUPnP-1.0.typelib
+%doc AUTHORS NEWS README
+%attr(755,root,root) %{_bindir}/gupnp-binding-tool-1.2
+%attr(755,root,root) %{_libdir}/libgupnp-1.2.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgupnp-1.2.so.0
+%{_libdir}/girepository-1.0/GUPnP-1.2.typelib
+%{_mandir}/man1/gupnp-binding-tool-1.2.1*
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libgupnp-1.0.so
-%{_datadir}/gir-1.0/GUPnP-1.0.gir
-%{_includedir}/gupnp-1.0
-%{_pkgconfigdir}/gupnp-1.0.pc
+%attr(755,root,root) %{_libdir}/libgupnp-1.2.so
+%{_datadir}/gir-1.0/GUPnP-1.2.gir
+%{_includedir}/gupnp-1.2
+%{_pkgconfigdir}/gupnp-1.2.pc
%files static
%defattr(644,root,root,755)
-%{_libdir}/libgupnp-1.0.a
+%{_libdir}/libgupnp-1.2.a
%files apidocs
%defattr(644,root,root,755)
%{_gtkdocdir}/gupnp
+
+%if %{with vala}
+%files -n vala-gupnp
+%defattr(644,root,root,755)
+%{_datadir}/vala/vapi/gupnp-1.2.deps
+%{_datadir}/vala/vapi/gupnp-1.2.vapi
+%endif