252 lines
6.9 KiB
RPMSpec
252 lines
6.9 KiB
RPMSpec
|
%global _syslibdir %{_libdir}
|
||
|
%global _prefix /opt/rx
|
||
|
|
||
|
Summary: Utilities to generate, maintain and access the AppStream database
|
||
|
Name: rx-appstream
|
||
|
Version: 1.0.2
|
||
|
Release: 2%{?dist}
|
||
|
|
||
|
# lib LGPLv2+, tools GPLv2+
|
||
|
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
||
|
#URL: http://www.freedesktop.org/wiki/Distributions/AppStream
|
||
|
URL: https://github.com/ximion/appstream
|
||
|
Source0: http://www.freedesktop.org/software/appstream/releases/AppStream-%{version}.tar.xz
|
||
|
|
||
|
# upstream patches
|
||
|
# https://github.com/PackageKit/PackageKit/issues/720
|
||
|
Patch0: utils-explicitly-set-format-style-when-installing-catalog-metadata.patch
|
||
|
|
||
|
|
||
|
# upstreamable patches
|
||
|
|
||
|
|
||
|
# needed for cmake auto-provides
|
||
|
BuildRequires: cmake
|
||
|
BuildRequires: meson >= 0.62
|
||
|
BuildRequires: gettext
|
||
|
BuildRequires: git-core
|
||
|
BuildRequires: gperf
|
||
|
BuildRequires: intltool
|
||
|
BuildRequires: itstool
|
||
|
BuildRequires: libstemmer-devel
|
||
|
BuildRequires: pkgconfig(cairo)
|
||
|
BuildRequires: pkgconfig(freetype2)
|
||
|
BuildRequires: pkgconfig(fontconfig)
|
||
|
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
|
||
|
#BuildRequires: pkgconfig(gi-docgen) >= 2021.1
|
||
|
BuildRequires: rx-glib2-devel >= 2.62
|
||
|
BuildRequires: pkgconfig(libcurl)
|
||
|
BuildRequires: pkgconfig(librsvg-2.0) >= 2.48
|
||
|
BuildRequires: pkgconfig(libxml-2.0)
|
||
|
BuildRequires: pkgconfig(libzstd)
|
||
|
BuildRequires: pkgconfig(pango)
|
||
|
BuildRequires: pkgconfig(Qt5Core) >= 5.15
|
||
|
BuildRequires: pkgconfig(Qt6Core) >= 6.2.4
|
||
|
BuildRequires: pkgconfig(xmlb) >= 0.3.14
|
||
|
BuildRequires: pkgconfig(yaml-0.1)
|
||
|
# lrelease
|
||
|
BuildRequires: qt6-linguist
|
||
|
BuildRequires: sed
|
||
|
BuildRequires: xmlto
|
||
|
|
||
|
Requires: appstream-data
|
||
|
Requires: rx-libxmlb
|
||
|
Requires: rx-glib2
|
||
|
Requires: rx-librsvg2
|
||
|
|
||
|
%description
|
||
|
AppStream makes it easy to access application information from the
|
||
|
AppStream database over a nice GObject-based interface.
|
||
|
|
||
|
%package devel
|
||
|
Summary: Development files for %{name}
|
||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||
|
# -vala subpackage removed in F30
|
||
|
Obsoletes: appstream-vala < 0.12.4-3
|
||
|
Provides: appstream-vala = %{version}-%{release}
|
||
|
Provides: appstream-devel = %{version}-%{release}
|
||
|
Conflicts: appstream-devel
|
||
|
|
||
|
%description devel
|
||
|
%{summary}.
|
||
|
|
||
|
%package compose
|
||
|
Summary: Library for generating AppStream data
|
||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||
|
%description compose
|
||
|
%{summary}.
|
||
|
|
||
|
%package compose-devel
|
||
|
Summary: Development files for %{name}-compose library
|
||
|
Requires: %{name}-compose%{?_isa} = %{version}-%{release}
|
||
|
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||
|
Provides: appstream-compose-devel = %{version}-%{release}
|
||
|
Conflicts: appstream-compose-devel
|
||
|
|
||
|
%description compose-devel
|
||
|
%{summary}.
|
||
|
|
||
|
%package qt
|
||
|
Summary: Qt6 bindings for %{name}
|
||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||
|
%description qt
|
||
|
%{summary}.
|
||
|
|
||
|
%package qt-devel
|
||
|
Summary: Development files for %{name}-qt bindings
|
||
|
Requires: %{name}-qt%{?_isa} = %{version}-%{release}
|
||
|
Requires: pkgconfig(Qt6Core) >= 6.2.4
|
||
|
Provides: cmake(AppStreamQt) = %{version}-%{release}
|
||
|
Conflicts: appstream-qt-devel
|
||
|
|
||
|
%description qt-devel
|
||
|
%{summary}.
|
||
|
|
||
|
%package qt5
|
||
|
Summary: Qt5 bindings for %{name}
|
||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||
|
%description qt5
|
||
|
%{summary}.
|
||
|
|
||
|
%package qt5-devel
|
||
|
Summary: Development files for %{name}-qt bindings
|
||
|
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
|
||
|
Requires: pkgconfig(Qt5Core) >= 5.15
|
||
|
Provides: cmake(AppStreamQt5) = %{version}-%{release}
|
||
|
Provides: appstream-qt-devel = %{version}-%{release}
|
||
|
Conflicts: appstream-qt-devel
|
||
|
|
||
|
%description qt5-devel
|
||
|
%{summary}.
|
||
|
|
||
|
|
||
|
%prep
|
||
|
%autosetup -n AppStream-%{version} -S git_am
|
||
|
|
||
|
|
||
|
%build
|
||
|
export LDFLAGS="-L%{_prefix}/%{_lib} -Wl,-rpath=%{_prefix}/%{_lib} -lrsvg-2 -L%{_prefix}/glib2/%{_lib} -Wl,-rpath=%{_prefix}/glib2/%{_lib} ${LDFLAGS}"
|
||
|
export PKG_CONFIG_PATH=%{_prefix}/%{_lib}/pkgconfig:%{_prefix}/glib2/%{_lib}/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}
|
||
|
|
||
|
sed -i "s/'libcurl', version: '>= 7.62'/'libcurl'/" meson.build
|
||
|
|
||
|
|
||
|
%{meson} \
|
||
|
-Dcompose=true \
|
||
|
-Dqt=true \
|
||
|
-Dqt-versions=5,6 \
|
||
|
-Dvapi=true \
|
||
|
-Dsystemd=false \
|
||
|
-Dgir=false \
|
||
|
-Dapidocs=false
|
||
|
|
||
|
|
||
|
%{meson_build}
|
||
|
|
||
|
|
||
|
%install
|
||
|
%{meson_install}
|
||
|
|
||
|
mkdir -p %{buildroot}/var/cache/swcatalog/{icons,gv,xml}
|
||
|
touch %{buildroot}/var/cache/swcatalog/cache.watch
|
||
|
|
||
|
%find_lang appstream
|
||
|
|
||
|
%if "%{?_metainfodir}" != "%{_datadir}/metainfo"
|
||
|
# move metainfo to right/legacy location
|
||
|
mkdir -p %{buildroot}%{_kf5_metainfodir}
|
||
|
mv %{buildroot}%{_datadir}/metainfo/*.xml \
|
||
|
%{buildroot}%{_metainfodir}
|
||
|
%endif
|
||
|
|
||
|
mkdir -p %{buildroot}%{_syslibdir}/cmake
|
||
|
ln -sf %{_libdir}/cmake/AppStreamQt %{buildroot}%{_syslibdir}/cmake/AppStreamQt
|
||
|
ln -sf %{_libdir}/cmake/AppStreamQt5 %{buildroot}%{_syslibdir}/cmake/AppStreamQt5
|
||
|
|
||
|
%check
|
||
|
%{meson_test} ||:
|
||
|
|
||
|
|
||
|
%posttrans
|
||
|
%{_bindir}/appstreamcli refresh --force >& /dev/null ||:
|
||
|
|
||
|
%transfiletriggerin -- %{_datadir}/swcatalog/xml
|
||
|
%{_bindir}/appstreamcli refresh --force >& /dev/null ||:
|
||
|
|
||
|
%transfiletriggerpostun -- %{_datadir}/swcatalog/xml
|
||
|
%{_bindir}/appstreamcli refresh --force >& /dev/null ||:
|
||
|
|
||
|
%files -f appstream.lang
|
||
|
%doc AUTHORS
|
||
|
%license COPYING
|
||
|
%{_bindir}/appstreamcli
|
||
|
%{_mandir}/man1/appstreamcli.1*
|
||
|
%{_datadir}/appstream/
|
||
|
#dir %{_libdir}/girepository-1.0/
|
||
|
#{_libdir}/girepository-1.0/AppStream-1.0.typelib
|
||
|
%{_libdir}/libappstream.so.5
|
||
|
%{_libdir}/libappstream.so.%{version}
|
||
|
%{_metainfodir}/org.freedesktop.appstream.cli.*.xml
|
||
|
# put in -devel? -- rex
|
||
|
%{_datadir}/gettext/its/metainfo.*
|
||
|
%ghost /var/cache/swcatalog/cache.watch
|
||
|
%dir /var/cache/swcatalog/
|
||
|
%dir /var/cache/swcatalog/icons/
|
||
|
%dir /var/cache/swcatalog/gv/
|
||
|
%dir /var/cache/swcatalog/xml/
|
||
|
|
||
|
%files devel
|
||
|
%{_includedir}/appstream/
|
||
|
%{_libdir}/libappstream.so
|
||
|
%{_libdir}/pkgconfig/appstream.pc
|
||
|
#dir %{_datadir}/gir-1.0/
|
||
|
#{_datadir}/gir-1.0/AppStream-1.0.gir
|
||
|
#dir %{_datadir}/vala
|
||
|
#dir %{_datadir}/vala/vapi
|
||
|
#{_datadir}/vala/vapi/appstream.deps
|
||
|
#{_datadir}/vala/vapi/appstream.vapi
|
||
|
%{_docdir}/appstream/html/
|
||
|
## symlink pointing to ^^, but need to take care, since rpm has
|
||
|
## trouble replacing dirs with symlinks, omit it for now -- rex
|
||
|
#exclude %{_datadir}/gtk-doc/html/appstream
|
||
|
# Maybe this should be split out? -- ngompa
|
||
|
%{_datadir}/installed-tests/appstream/metainfo-validate.test
|
||
|
|
||
|
%files compose
|
||
|
%{_libexecdir}/appstreamcli-compose
|
||
|
%{_mandir}/man1/appstreamcli-compose.1*
|
||
|
%{_libdir}/libappstream-compose.so.0
|
||
|
%{_libdir}/libappstream-compose.so.%{version}
|
||
|
#{_libdir}/girepository-1.0/AppStreamCompose-1.0.typelib
|
||
|
%{_metainfodir}/org.freedesktop.appstream.compose.metainfo.xml
|
||
|
|
||
|
%files compose-devel
|
||
|
%{_includedir}/appstream-compose/
|
||
|
%{_libdir}/libappstream-compose.so
|
||
|
%{_libdir}/pkgconfig/appstream-compose.pc
|
||
|
#{_datadir}/gir-1.0/AppStreamCompose-1.0.gir
|
||
|
#dir %{_datadir}/gtk-doc/
|
||
|
#dir %{_datadir}/gtk-doc/html/
|
||
|
#{_datadir}/gtk-doc/html/appstream-compose
|
||
|
|
||
|
%files qt
|
||
|
%{_libdir}/libAppStreamQt.so.3
|
||
|
%{_libdir}/libAppStreamQt.so.%{version}
|
||
|
|
||
|
%files qt-devel
|
||
|
%{_includedir}/AppStreamQt/
|
||
|
%{_syslibdir}/cmake/AppStreamQt
|
||
|
%{_libdir}/cmake/AppStreamQt/
|
||
|
%{_libdir}/libAppStreamQt.so
|
||
|
|
||
|
%files qt5
|
||
|
%{_libdir}/libAppStreamQt5.so.3
|
||
|
%{_libdir}/libAppStreamQt5.so.%{version}
|
||
|
|
||
|
%files qt5-devel
|
||
|
%{_includedir}/AppStreamQt5/
|
||
|
%{_syslibdir}/cmake/AppStreamQt5
|
||
|
%{_libdir}/cmake/AppStreamQt5/
|
||
|
%{_libdir}/libAppStreamQt5.so
|
||
|
|