|
|
1ecd39e |
%global with_mingw 0
|
|
|
1ecd39e |
|
|
|
1ecd39e |
%if 0%{?fedora}
|
|
|
1ecd39e |
%global with_mingw 1
|
|
|
1ecd39e |
%endif
|
|
|
1ecd39e |
|
|
Richard Hughes |
8800a9c |
%global glib2_version 2.45.8
|
|
Richard Hughes |
8800a9c |
|
|
Richard Hughes |
8800a9c |
Summary: Library for querying compressed XML metadata
|
|
Richard Hughes |
8800a9c |
Name: libxmlb
|
|
Richard Hughes |
462a814 |
Version: 0.3.19
|
|
Richard Hughes |
aa97def |
Release: %autorelease
|
|
Richard Hughes |
dfa7630 |
License: LGPL-2.1-or-later
|
|
Richard Hughes |
aa97def |
URL: https://github.com/hughsie/%{name}
|
|
Richard Hughes |
aa97def |
Source0: https://github.com/hughsie/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz
|
|
Richard Hughes |
8800a9c |
|
|
Richard Hughes |
b09be2f |
Patch1: 0001-Fix-writing-files-on-Windows.patch
|
|
Richard Hughes |
b09be2f |
|
|
Richard Hughes |
8800a9c |
BuildRequires: glib2-devel >= %{glib2_version}
|
|
Richard Hughes |
8800a9c |
BuildRequires: gtk-doc
|
|
Richard Hughes |
393f55e |
BuildRequires: libstemmer-devel
|
|
Richard Hughes |
8800a9c |
BuildRequires: meson
|
|
Richard Hughes |
8800a9c |
BuildRequires: gobject-introspection-devel
|
|
Richard Hughes |
886582b |
BuildRequires: xz-devel
|
|
Richard Hughes |
aa97def |
BuildRequires: libzstd-devel
|
|
Richard Hughes |
685bf38 |
BuildRequires: python3-setuptools
|
|
Richard Hughes |
8800a9c |
|
|
|
1ecd39e |
%if %{with_mingw}
|
|
|
1ecd39e |
BuildRequires: mingw32-filesystem >= 95
|
|
|
1ecd39e |
BuildRequires: mingw32-gcc-c++
|
|
|
1ecd39e |
BuildRequires: mingw32-glib2
|
|
|
1ecd39e |
BuildRequires: mingw32-xz
|
|
|
1ecd39e |
BuildRequires: mingw32-zstd
|
|
|
1ecd39e |
|
|
|
1ecd39e |
BuildRequires: mingw64-filesystem >= 95
|
|
|
1ecd39e |
BuildRequires: mingw64-gcc-c++
|
|
|
1ecd39e |
BuildRequires: mingw64-glib2
|
|
|
1ecd39e |
BuildRequires: mingw64-xz
|
|
|
1ecd39e |
BuildRequires: mingw64-zstd
|
|
|
1ecd39e |
%endif
|
|
|
1ecd39e |
|
|
Richard Hughes |
8800a9c |
# needed for the self tests
|
|
Richard Hughes |
8800a9c |
BuildRequires: shared-mime-info
|
|
Richard Hughes |
8800a9c |
|
|
Richard Hughes |
8800a9c |
Requires: glib2%{?_isa} >= %{glib2_version}
|
|
Richard Hughes |
8800a9c |
Requires: shared-mime-info
|
|
Richard Hughes |
8800a9c |
|
|
Richard Hughes |
8800a9c |
%description
|
|
Richard Hughes |
8800a9c |
XML is slow to parse and strings inside the document cannot be memory mapped as
|
|
Richard Hughes |
8800a9c |
they do not have a trailing NUL char. The libxmlb library takes XML source, and
|
|
Richard Hughes |
8800a9c |
converts it to a structured binary representation with a deduplicated string
|
|
Richard Hughes |
8800a9c |
table -- where the strings have the NULs included.
|
|
Richard Hughes |
8800a9c |
|
|
Richard Hughes |
8800a9c |
This allows an application to mmap the binary XML file, do an XPath query and
|
|
Richard Hughes |
8800a9c |
return some strings without actually parsing the entire document. This is all
|
|
Richard Hughes |
8800a9c |
done using (almost) zero allocations and no actual copying of the binary data.
|
|
Richard Hughes |
8800a9c |
|
|
Richard Hughes |
8800a9c |
%package devel
|
|
Richard Hughes |
8800a9c |
Summary: Development package for %{name}
|
|
Richard Hughes |
8800a9c |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
Richard Hughes |
8800a9c |
|
|
Richard Hughes |
8800a9c |
%description devel
|
|
Richard Hughes |
8800a9c |
Files for development with %{name}.
|
|
Richard Hughes |
8800a9c |
|
|
Richard Hughes |
5be7483 |
%package tests
|
|
Richard Hughes |
5be7483 |
Summary: Files for installed tests
|
|
Richard Hughes |
5be7483 |
|
|
Richard Hughes |
5be7483 |
%description tests
|
|
Richard Hughes |
5be7483 |
Executable and data files for installed tests.
|
|
Richard Hughes |
5be7483 |
|
|
|
1ecd39e |
%if %{with_mingw}
|
|
|
1ecd39e |
%package -n mingw32-libxmlb
|
|
|
1ecd39e |
Summary: MinGW library for querying compressed XML metadata
|
|
|
1ecd39e |
BuildArch: noarch
|
|
|
1ecd39e |
|
|
|
1ecd39e |
%description -n mingw32-libxmlb
|
|
|
1ecd39e |
MinGW32 libxmlb library.
|
|
|
1ecd39e |
|
|
|
1ecd39e |
%package -n mingw64-libxmlb
|
|
|
1ecd39e |
Summary: MinGW library for querying compressed XML metadata
|
|
|
1ecd39e |
BuildArch: noarch
|
|
|
1ecd39e |
|
|
|
1ecd39e |
%description -n mingw64-libxmlb
|
|
|
1ecd39e |
MinGW64 libxmlb library.
|
|
|
1ecd39e |
|
|
|
1ecd39e |
%{?mingw_debug_package}
|
|
|
1ecd39e |
%endif
|
|
|
1ecd39e |
|
|
Richard Hughes |
8800a9c |
%prep
|
|
|
1ecd39e |
%autosetup -p1
|
|
Richard Hughes |
8800a9c |
|
|
Richard Hughes |
8800a9c |
%build
|
|
Richard Hughes |
8800a9c |
|
|
Richard Hughes |
8800a9c |
%meson \
|
|
Richard Hughes |
8800a9c |
-Dgtkdoc=true \
|
|
Richard Hughes |
8800a9c |
-Dtests=true
|
|
Richard Hughes |
8800a9c |
|
|
Richard Hughes |
8800a9c |
%meson_build
|
|
Richard Hughes |
8800a9c |
|
|
|
1ecd39e |
%if %{with_mingw}
|
|
|
1ecd39e |
%mingw_meson -Dintrospection=false -Dtests=false -Dgtkdoc=false
|
|
|
1ecd39e |
%mingw_ninja
|
|
|
1ecd39e |
%endif
|
|
|
1ecd39e |
|
|
Richard Hughes |
8800a9c |
%check
|
|
Richard Hughes |
8800a9c |
%meson_test
|
|
Richard Hughes |
8800a9c |
|
|
Richard Hughes |
8800a9c |
%install
|
|
Richard Hughes |
8800a9c |
%meson_install
|
|
Richard Hughes |
8800a9c |
|
|
|
1ecd39e |
%if %{with_mingw}
|
|
|
1ecd39e |
%mingw_ninja_install
|
|
|
1ecd39e |
%mingw_debug_install_post
|
|
|
1ecd39e |
rm -f $RPM_BUILD_ROOT/%{mingw32_mandir}/man1/xb-tool.1*
|
|
|
1ecd39e |
rm -f $RPM_BUILD_ROOT/%{mingw64_mandir}/man1/xb-tool.1*
|
|
|
1ecd39e |
%endif
|
|
|
1ecd39e |
|
|
Richard Hughes |
8800a9c |
%files
|
|
Richard Hughes |
8800a9c |
%doc README.md
|
|
Richard Hughes |
8800a9c |
%license LICENSE
|
|
Richard Hughes |
e68a8cd |
%{_bindir}/xb-tool
|
|
Richard Hughes |
e68a8cd |
%{_mandir}/man1/xb-tool.1*
|
|
Richard Hughes |
8800a9c |
%dir %{_libdir}/girepository-1.0
|
|
Richard Hughes |
685bf38 |
%{_libdir}/girepository-1.0/Xmlb-2.0.typelib
|
|
Richard Hughes |
ab0361b |
%{_libdir}/libxmlb.so.2*
|
|
Richard Hughes |
8800a9c |
|
|
Richard Hughes |
8800a9c |
%files devel
|
|
Richard Hughes |
8800a9c |
%dir %{_datadir}/gir-1.0
|
|
Richard Hughes |
685bf38 |
%{_datadir}/gir-1.0/Xmlb-2.0.gir
|
|
Richard Hughes |
8800a9c |
%dir %{_datadir}/gtk-doc
|
|
Richard Hughes |
8800a9c |
%dir %{_datadir}/gtk-doc/html
|
|
Richard Hughes |
8800a9c |
%{_datadir}/gtk-doc/html/libxmlb
|
|
Richard Hughes |
685bf38 |
%{_includedir}/libxmlb-2
|
|
Richard Hughes |
8800a9c |
%{_libdir}/libxmlb.so
|
|
Richard Hughes |
8800a9c |
%{_libdir}/pkgconfig/xmlb.pc
|
|
Richard Hughes |
8800a9c |
|
|
Richard Hughes |
5be7483 |
%files tests
|
|
Richard Hughes |
685bf38 |
%dir %{_libexecdir}/installed-tests/libxmlb
|
|
Richard Hughes |
ca89e47 |
%{_libexecdir}/installed-tests/libxmlb/xb-self-test
|
|
Richard Hughes |
36af9d2 |
%{_libexecdir}/installed-tests/libxmlb/test.*
|
|
Richard Hughes |
5be7483 |
%dir %{_datadir}/installed-tests/libxmlb
|
|
Richard Hughes |
685bf38 |
%{_datadir}/installed-tests/libxmlb/libxmlb.test
|
|
Richard Hughes |
5be7483 |
|
|
|
1ecd39e |
%if %{with_mingw}
|
|
|
1ecd39e |
%files -n mingw32-libxmlb
|
|
|
1ecd39e |
%license LICENSE
|
|
|
1ecd39e |
%{mingw32_bindir}/xb-tool.exe
|
|
|
1ecd39e |
%{mingw32_bindir}/libxmlb-2.dll
|
|
|
1ecd39e |
%{mingw32_libdir}/libxmlb.dll.a
|
|
|
1ecd39e |
%{mingw32_includedir}/libxmlb-2
|
|
|
1ecd39e |
%{mingw32_libdir}/pkgconfig/xmlb.pc
|
|
|
1ecd39e |
|
|
|
1ecd39e |
%files -n mingw64-libxmlb
|
|
|
1ecd39e |
%license LICENSE
|
|
|
1ecd39e |
%{mingw64_bindir}/xb-tool.exe
|
|
|
1ecd39e |
%{mingw64_bindir}/libxmlb-2.dll
|
|
|
1ecd39e |
%{mingw64_libdir}/libxmlb.dll.a
|
|
|
1ecd39e |
%{mingw64_includedir}/libxmlb-2
|
|
|
1ecd39e |
%{mingw64_libdir}/pkgconfig/xmlb.pc
|
|
|
1ecd39e |
%endif
|
|
|
1ecd39e |
|
|
Richard Hughes |
8800a9c |
%changelog
|
|
Richard Hughes |
aa97def |
%autochangelog
|