Blob Blame History Raw
%global asgen_jsdir %{_datadir}/appstream/templates/default/static/js

Name:           appstream-generator
Version:        0.7.7
Release:        1%{?dist}
Summary:        Fast AppStream metadata generator

License:        LGPLv3+
URL:            https://github.com/ximion/%{name}
Source0:        %{url}/archive/v%{version}/%{name}-%{version}.tar.gz

BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(gobject-2.0)
BuildRequires:  pkgconfig(gio-2.0)
BuildRequires:  pkgconfig(glibd-2.0)
BuildRequires:  pkgconfig(appstream) >= 0.12.2
BuildRequires:  pkgconfig(lmdb) >= 0.9
BuildRequires:  pkgconfig(libarchive) >= 3.2
BuildRequires:  pkgconfig(cairo) >= 1.12
BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
BuildRequires:  pkgconfig(librsvg-2.0)
BuildRequires:  pkgconfig(libcurl)
BuildRequires:  pkgconfig(freetype2)
BuildRequires:  pkgconfig(pango)
BuildRequires:  pkgconfig(fontconfig)
BuildRequires:  pkgconfig(mustache-d)
BuildRequires:  pkgconfig(dcontainers) >= 0.8.0
BuildRequires:  pkgconfig(gobject-introspection-1.0)
BuildRequires:  gir-to-d >= 0.18.0
BuildRequires:  ldc >= 1:1.1.0
BuildRequires:  meson >= 0.46.0
BuildRequires:  npm(Flot)
BuildRequires:  js-highlight
BuildRequires:  js-jquery
# For man pages
BuildRequires:  %{_bindir}/xsltproc
BuildRequires:  docbook-dtds
BuildRequires:  docbook-style-xsl
# For nodejs macros
BuildRequires:  nodejs-packaging
# For JS macros
BuildRequires:  web-assets-devel

# These are the only architectures upstream supports currently...
ExclusiveArch:  x86_64 %{ix86} %{arm}

Requires:       npm(Flot)
Requires:       js-highlight
Requires:       js-jquery
Recommends:     optipng

%description
appstream-generator is a tool to generate distribution metadata
from package repositories. It will extract icons, download
screenshots, validate and transform the metadata, and return
XML or YAML files that can be read by AppStream clients,
such as software centers. It will also generate issue reports
as JSON documents and HTML pages.

%prep
%autosetup -p1


%build
# Drop '-specs=/usr/lib/rpm/redhat/redhat-hardened-ld' as LDC doesn't support it
export LDFLAGS="-Wl,-z,relro"
# Export DFLAGS
export DFLAGS="%{_d_optflags}"
%meson -Ddownload-js=false
%meson_build


%install
%meson_install

# link in JavaScript libraries...
mkdir -p %{buildroot}%{asgen_jsdir}/jquery
ln -srf %{buildroot}%{_jsdir}/jquery/latest/jquery.min.js %{buildroot}%{asgen_jsdir}/jquery/jquery.min.js
mkdir -p %{buildroot}%{asgen_jsdir}/highlight
ln -srf %{buildroot}%{_jsdir}/highlight.js/highlight.pack.js %{buildroot}%{asgen_jsdir}/highlight/highlight.pack.js
ln -srf %{buildroot}%{nodejs_sitelib}/flot/ %{buildroot}%{asgen_jsdir}/flot


%check
%meson_test


%files
%license LICENSE
%doc MAINTAINERS NEWS README.md TODO
%{_bindir}/appstream-generator
%{_mandir}/man1/appstream-generator.1*
%{_datadir}/appstream/
%{_datadir}/metainfo/org.freedesktop.appstream.generator.metainfo.xml

%changelog
* Tue Apr 16 2019 Neal Gompa <ngompa13@gmail.com> - 0.7.7-1
- Update to 0.7.7 (#1674286)

* Mon Feb 18 2019 Kalev Lember <klember@redhat.com> - 0.7.4-2
- Rebuilt for ldc 1.14

* Sat Feb 02 2019 Neal Gompa <ngompa13@gmail.com> - 0.7.4-1
- Rebase to 0.7.4 (#1563877)

* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.8-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Mon Jul 09 2018 Kalev Lember <klember@redhat.com> - 0.6.8-2
- Rebuilt for ldc 1.11

* Wed Feb 21 2018 Neal Gompa <ngompa13@gmail.com> - 0.6.8-1
- Update to 0.6.8 (#1544598)

* Mon Feb 19 2018 Kalev Lember <klember@redhat.com> - 0.6.7-3
- Rebuilt for ldc 1.8

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Sun Oct  8 2017 Neal Gompa <ngompa13@gmail.com> - 0.6.7-1
- Initial packaging for Fedora (#1498468)