diff --git a/AppStream-0.16.4.tar.xz b/AppStream-0.16.4.tar.xz deleted file mode 100644 index 6d269fb..0000000 --- a/AppStream-0.16.4.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d4f722d79c6a2f29d9dc5c6f464927469543353f386581c778c9bed7c60a54ed -size 2570176 diff --git a/AppStream-0.16.4.tar.xz.asc b/AppStream-0.16.4.tar.xz.asc deleted file mode 100644 index 4be04a4..0000000 --- a/AppStream-0.16.4.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEE0zo/DKFrCsxRpgc4SUyKX79N7OsFAmVOkngACgkQSUyKX79N -7OuRxA//fS7F5jcyleq33ki3y9G3TJhHpNHRE09Jm8xOgFzibJTLg9XUOF05/jjb -ZYFMPRprcuQ+svUpvDe710+5l2QuJG7u+88AdpO2qE1ZT7FUMV7vGhmRiv9uhZLB -6IkyZzycZV1Lxyx9o9697Xllw0Uu7Ei23JOUz36l16YkPLKkEJOC9TJtjLk2qf63 -EAIiEZ3maX14k6dyQdXdq2e15uqclgu0Mr3RVAKzOSwkZEFTZDNC7/BTT1sX3+aJ -opMflbWsHPKl7hZmv+xvIVTcK4KMGENJpKVzosg/AYawD/i9v/Z+pS7Nie9+jLBP -6RcSJIYHTioPWkElzWgky10dpIKdl/1Cg1rirsJX/JrRvbyMg012TtlZBNtpyyJo -IL+dQoJrR0GyiuikgJ/3lf47aZKNoIDKu1SJ8Mjjb4QVM8CVuQ0LvREQ2AlTk2mQ -5TvYW2PjsUhOzDC1INZ27sCB/+oYgSi4HdhWt8xQdpBznn2FsPgFK0KDJVofgO5r -1H+IydG/7gVK1ujKkxcX/vVIxcR8tohk1sUr4PzxFy2eURAP+Ji99MmjmVoOKsuU -XXA2CPYSiodwAEGqk9MfK4IK6CCPR605n7XfKRw5oWOFgyYx1pIq2S8h1rHs0E9E -+j6lRg00o0Ss4RmlorWthBytB5RoKQIeKHlvhLXVZ71N13O2wbo= -=Fd8i ------END PGP SIGNATURE----- diff --git a/AppStream-1.0.3.tar.xz b/AppStream-1.0.3.tar.xz new file mode 100644 index 0000000..d8fb527 --- /dev/null +++ b/AppStream-1.0.3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ab6f6cf644e7875a9508593962e56bb430f4e59ae0bf03be6be7029deb6baa4 +size 2644220 diff --git a/AppStream-1.0.3.tar.xz.asc b/AppStream-1.0.3.tar.xz.asc new file mode 100644 index 0000000..9653a7c --- /dev/null +++ b/AppStream-1.0.3.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEE0zo/DKFrCsxRpgc4SUyKX79N7OsFAmYpSY4ACgkQSUyKX79N +7OtQZxAAkZtNe7ZAimDBtj109lE1Xw2GV5Yl/zEK38AgZer63ogA4dcC3e/EzZkB +ujAE2mxKv1v9Yf2BfL8m3KFZznpZLpN9YyV5KebXQK4fD762GnH7t/U8i9tNzHsB +u9FlKTi2qILXE3/JPYOQmK88rb4t0eKHjFzrtGfCFzJXG/w49Q0GLNoMHRV9c573 +wrFZLB0HMykc1WTa+yZ//tRtLCUbgAk5FPKLCzBTkjgm6ypuVU07tN8FEamLxH9z +dMdheAO5zUBCjtPK0hm5w9z4Hwg22oiw4/U63TO7lzCIDaYpHpD1B/7Wn5gUZMs+ +s+w88uhy7oyVl55kZKZqZxXgu0Q6M0MRyDuvINeFeE/AJNQ8Op0Tzq5YalREvUrS +EnCf31QQ0Q2eXQNeVDg+LGlWjIgy239YsvjJymwCB7nr/Ghh518GvFOuTXiHxglK +YQ8X58dFEHIg/dPqs7v0f+Gs3V80qHQxrLMT9bGiuwd4kTHMq2lTs4yKUzKviB3Z +k8WHr0m+hs7bKcryp6yg9vZ27nWUN/8mFTZOcoWsqQG1p0A2b+9i8okaVGlf64y9 +QXs0l+rOyj0SlsXrLpyinLEbTzUgU1cZvW5lTMW5s2PWkw4IOFiHTMG2VHotYxeB +i8fg3Gdn0YNcGtYMZN20yXRnz5AiDIkfBeO6/+RHsDm9+yOHZoI= +=YPHB +-----END PGP SIGNATURE----- diff --git a/AppStream.changes b/AppStream.changes index dcda633..c49788c 100644 --- a/AppStream.changes +++ b/AppStream.changes @@ -1,3 +1,267 @@ +------------------------------------------------------------------- +Mon Aug 19 11:26:49 UTC 2024 - Dominique Leuenberger + +- BuildRequire gettext-devel instead of gettext: allow OBS to + shortcut through gettext-runtime-mini. + +------------------------------------------------------------------- +Tue May 14 13:27:04 UTC 2024 - Dominique Leuenberger + +- Update to version 1.0.3: + + Features: + * validator: Check that description lists don't get translated + * validator: Improve translation checks for descriptions + * cli: compose: Allow to propagate selected custom entries to + catalog output + * validator: Check for common typo of "scheme_preference" + branding property + * xml: Generate a developer_name compat tag for older 3rd-party + parsers + * validator: Flag duplicate branding colors as invalid + * Add Plasma Mobile as recognized desktop-style + + Specification: + * docs: Clarify a developer element is not allowed to exist + multiple times + * docs: Explicitly clarify a developer/name element must not be + repeated + * docs: Clarify metainfo translation rules a bit + + Bugfixes: + * qt: Fix relocation of Config.cmake files + * cli: check-syscompat: Recognize available required controls + as available + * validator: Guard issue emission functions with G_GNUC_PRINTF + * validator: Always use secure string formatting for issue emit + function + * utils: Explicitly set format style when installing catalog + metadata + * Suppress static-analyzer drawing wrong conclusions on GCC 14 + + Miscellaneous: + * docs: List AppStreamCompose as related to AppStream + * docs: Add manpages back + * validator: Mark developer-id-missing as info-priority again + +------------------------------------------------------------------- +Tue Mar 12 16:47:37 UTC 2024 - Antonio Larrosa + +- Add conflict in appstream-qt6-devel with + libAppStreamQt-devel < 1.0. This is required to fix a file + conflict in SLE with the old libAppStreamQt-devel package. + +------------------------------------------------------------------- +Fri Mar 1 09:46:46 UTC 2024 - Christophe Marin + +- Update to 1.0.2 + Features: + * qt: Allow building for multiple Qt major versions at once + * Improve low-quality category check and extend its blacklist + * validator: Add some limited developer-ID validation + * validator: Emit an overridable warning if homepage URL was omitted + * compose: Allow rendering vector graphics to HiDPI bitmaps unconditionally + * compose: Allow setting a custom icon-policy on the command-line + Specification: + * docs: Mention that tag can be translated + * docs: Generate validation issue tag documentation from code + * docs: Add information on how to exclude elements from translation + * spec: Recommend using rDNS strings or Fediverse handles as developer-ID + * spec: Make launchable requirement for desktop-apps more strict + Bugfixes: + * qt: Component::customValue should be const + * validator: Remove mention of shorthands from relation-display-length-value-invalid + * sysinfo: Swap arguments of g_pattern_match_simple + * qt: Add missing screenshot sorting function + * qt: pool: Add missing Q_EMIT keyword + * validator: Improve error message if no valid categories were found + * validator: Make some length limitations more strict + * validator: Only emit developer-name-tag-deprecated once + * validator: Ensure filename is properly included in location info again + * validator: Improve error reporting on images with missing/bad locales + * compose: Don't accidentally set icon scale to 0 in some cases + * compose: Add heuristics to show out-of-scope errors if filters were set + * Don't prematurely abort URL validity check during semi-large redirects + * docs: Update supported hashsums to reflect reality + * docs: Describe version comparison letters special case + * docs: Clarify release descriptions *must not* contain embedded URL + * docs: Explicitly mention /var/cache/swcatalog is a valid + catalog data location + * tests: Fix tests with old & new FontConfig + * its: Allow untranslatable developer/name and agreement sections + Miscellaneous: + * compose: Clarify that "no valid category" can mean bad ones + were ignored + * news-convert: Don't strip out the last text in brackets +- Drop patch, merged upstream: + * # 0001-Don-t-prematurely-abort-URL-validity-check-during-se.patch + +------------------------------------------------------------------- +Sun Feb 18 12:44:31 UTC 2024 - Christophe Marin + +- Add upstream change to fix potential URL validity check errors: + * 0001-Don-t-prematurely-abort-URL-validity-check-during-se.patch + +------------------------------------------------------------------- +Thu Feb 1 09:04:42 UTC 2024 - Christophe Marin + +- Update to 1.0.1 + Bugfixes: + * Fix lib name for Qt5 link target + * meson: Pass -D_DARWIN_C_SOURCE on darwin + * Fix macOS build + * stemmer: Resolve potential issue where stemmer may never be + initialized + * cli: Don't fail what-provides if components were found + * Fix query element order for what-provides queries + * validator: Demote developer-name-tag-deprecated to info + severity for now + * content-rating: Fix missing or wrong value descriptions for + rating IDs + * curl: Add transfer speed timeouts for HTTP downloads + * curl: Retry operations on potentially transient errors + Miscellaneous: + * validator: Improve hint for content-attribute-value-invalid + * Allow building without zstd temporarily +- Drop patches, merged upstream: + * 0001-validator-Demote-developer-name-tag-deprecated-to-in.patch + * 0001-content-rating-Fix-missing-or-wrong-value-descriptio.patch + * 0001-Fix-lib-name-for-Qt5-link-target.patch + +------------------------------------------------------------------- +Wed Jan 31 14:34:55 UTC 2024 - Christophe Marin + +- Switch to the latest GCC version available in Leap for packages + that can't build with the default compiler + +------------------------------------------------------------------- +Fri Dec 15 11:12:14 UTC 2023 - Christophe Marin + +- Use GCC 12 for building on Leap + +------------------------------------------------------------------- +Wed Dec 13 09:30:30 UTC 2023 - Christophe Marin + +- Add upstream change to fix a couple test issues (related to boo#1217047) + * 0001-validator-Demote-developer-name-tag-deprecated-to-in.patch +- Add more changes: + * 0001-content-rating-Fix-missing-or-wrong-value-descriptio.patch + * 0001-Fix-lib-name-for-Qt5-link-target.patch +- Add a Qt6 multibuild flavor + +------------------------------------------------------------------- +Mon Dec 11 09:13:59 UTC 2023 - Frederic Crozat + +- Bump BuildRequires on pkgconfig(xmlb) to 0.3.14. + +------------------------------------------------------------------- +Tue Dec 5 15:53:26 UTC 2023 - Antonio Larrosa + +- Make AppStream-compose-devel require the same version + of libappstream-compose0. + +------------------------------------------------------------------- +Wed Nov 22 09:02:34 UTC 2023 - Christophe Marin + +- Update to 1.0.0. Note that this release has some breaking API + changes. + Features: + * Autoformat C and C++ sources + * Remove all deprecated symbols + * Drop support for many deprecated AppStream XML features + * Use GPtrArray to expose keywords list + * Add length argument to raw metadata parsing functions + * Add component array container class + * Remove named values for display_length relations + * Make AsPool only accept/return component boxes + * Port all API away from per-entity locale overrides + * Reduce appstream.conf to its essentials, make it work on stateless systems + * Hide search engine details from public API + * Wrap release entries in AsReleaseList container class + * Make AsMetadata handle AsReleaseList objects + * Refactor is_satisfied result into new RelationCheckResult class + * Add a method to check all relations of a component and get the result + * Add algorithm to score compatibility with a system, add chassis templates + * ascli: Add new check-syscompat command to check chassis compatibility + * Implement environment property for component screenshots + * Autogenerate translatable DE and gui-environment-style C arrays + * Expose more advanced markup conversion function, update function names + * Allow BLAKE3 and SHA512 checksums for release artifacts + * Stop supporting mailto: URLs in tags + * validator: Improve API and simplify it + * validator: Parse XML in pedantic mode when validating + * validator: Check screenshot environment property + * validator: Only apply summary-has-dot-suffix check to untranslated strings + * compose: Allow creating metadata with complete URLs and no base URL + * spdx: Add API to retrieve a translated license name from an SPDX ID + * qt: Switch to building with Qt6 + * qt: Make it possible to iterate ComponentBox + * qt: Implement AppStream::ComponentBox::erase + * qt: Allow concatenating two ComponentBoxes + * qt: Allow loading Pool asynchronously + * qt: Use ComponentBox/Releases in Qt bindings as well + * qt: Add support for the new API to check relation satisfaction + * qt: Maintenance and namespace fixes, use cPtr() to get C pointers everywhere + * bundle: Add linglong as a new type of bundle + * Add GUI environment IDs for macOS and Microsoft Windows + * validator: Check if Release Description is inside description tag + * validator: Add validation for content_rating + * Add support for building on Win32 + * win32: change some file/path-related code for portability + * Implement the developer element for unique developer IDs + * Implement scaling factor for screenshots + * component-box: Allow removal of components by-index + * Implement support for external references and citations + * Implement usertags for release data as well + * Move ValueFlags to the context, instead of tieing them to components + * pool: search: Add additional weight for exact substring matches on names + * sysinfo: Add memory size detection support for macOS + * Add support for Zstd for on-disk data compression + * utils: Make tar unpacker independent of zstd binary presence + * Drop Python2 provided tag support + * data: Add ‘Endless’ to the list of desktops + * Add NetBSD support + + Specification: + * Drop (most) deprecated information + * docs: Clarify environment-based screenshot ordering + * Add new 'snapshot' release kind + * docs: Build all API documentation with gi-docgen + * spec: Document the new "developer" element + * spec: Document the "reference" tag for registry references + * docs: Add example of YAML for references elements + * Allow hyphens in the last segment of a component-ID + * docs: Drop outdated information from l10n quickstart guide + + Bugfixes: + * meson: check for docbook xsl stylesheets + * Fix tweaking of appstream.pc when building as subproject + * Fix crash in asc_l10n_search_translations_qt() + * qt: Make Qt6 dependency a system dependency. + * meson: do not rely on an exe wrapper + * meson: do not -I/usr/include when !stemmer + * meson: Prevent building attempts with MSVC + * meson: Use an SPDX license indentifier in project(license:) + * Add meson overrides + * compose: Set lower-cased CID for synthesized components again + * compose: Set lower-cased CID in desktop-entry parse function + * compose: Honor prefix in font search + * compose: Select the correct default icon glyphs for fonts + * Don't crash when non-YAML documents are read as YAML + * Do not override default-priority when parsing multiple metadata files + * Ensure stemmer always has the right locale and token-search works + * Require a more recent libxmlb to avoid crashes + * Rename component get_releases to indicate that releases may not be loaded from the web + * Prevent string-id validation functions from matching source comments + * Don't define _POSIX_C_SOURCE when building for NetBSD + + Miscellaneous: + * Explain metainfo-ancient error in more detail + * Make sed invocation more portable + * Add FreeBSD CI + * Allow variable shadowing in C++ code + * Drop the catchall as-enums unit + * vapi: Drop unneeded metadata + * Make AsMetadata return a component box for multiple components + * apt: Make item descriptions more human-friendly + * Streamline README + ------------------------------------------------------------------- Wed Nov 15 12:08:06 UTC 2023 - Bjørn Lie diff --git a/AppStream.keyring b/AppStream.keyring index 7e82dee..2ca1dc3 100644 Binary files a/AppStream.keyring and b/AppStream.keyring differ diff --git a/AppStream.spec b/AppStream.spec index 37913ed..25bee1d 100644 --- a/AppStream.spec +++ b/AppStream.spec @@ -1,7 +1,7 @@ # # spec file for package AppStream # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,34 +16,56 @@ # -%define libappstream_sover 4 -%define libAppStreamQt_sover 2 -%define libappstream_compose_sover 0 -%if 0%{?sle_version} >= 150300 && 0%{?is_opensuse} || 0%{?sle_version} >= 150600 || 0%{?suse_version} > 1500 +%global flavor @BUILD_FLAVOR@%{nil} +%if "%flavor" == "qt6" +%define pkg_suffix -qt6 +%define qt6 1 +%define min_qt_version 6.2.4 +%else +%define min_qt_version 5.15 +%if 0%{?sle_version} >= 150400 && 0%{?is_opensuse} || 0%{?sle_version} >= 150600 || 0%{?suse_version} > 1500 %bcond_without vala %endif -Name: AppStream -Version: 0.16.4 +%endif +# The default Leap compiler is too old for building AppStream-qt6. use the same compiler for both flavors +%if 0%{?suse_version} == 1500 +%bcond_without gcc13 +%endif +%define rname AppStream +%define libappstream_sover 5 +%define libAppStreamQt_sover 3 +%define libappstream_compose_sover 0 +Name: AppStream%{?pkg_suffix} +Version: 1.0.3 Release: 0 Summary: Tools and libraries to work with AppStream metadata License: LGPL-2.1-or-later -Group: Development/Libraries/C and C++ URL: https://www.freedesktop.org/software/appstream/docs/ -Source0: http://www.freedesktop.org/software/appstream/releases/%{name}-%{version}.tar.xz -Source1: http://www.freedesktop.org/software/appstream/releases/%{name}-%{version}.tar.xz.asc -Source2: %{name}.keyring +Source0: http://www.freedesktop.org/software/appstream/releases/%{rname}-%{version}.tar.xz +Source1: http://www.freedesktop.org/software/appstream/releases/%{rname}-%{version}.tar.xz.asc +Source2: AppStream.keyring +# PATCH-FIX-OPENSUSE Patch0: support-meson0.59.patch BuildRequires: cairo-devel BuildRequires: docbook-xsl-stylesheets +%if %{with gcc13} +BuildRequires: gcc13 +BuildRequires: gcc13-c++ +%endif BuildRequires: gdk-pixbuf-loader-rsvg -BuildRequires: gettext +BuildRequires: gettext-devel BuildRequires: gperf BuildRequires: itstool BuildRequires: meson >= 0.59 BuildRequires: pkgconfig BuildRequires: xsltproc -BuildRequires: pkgconfig(Qt5Core) -BuildRequires: pkgconfig(Qt5Test) +%if 0%{?qt6} +BuildRequires: pkgconfig(Qt6Core) >= %{min_qt_version} +BuildRequires: pkgconfig(Qt6Test) >= %{min_qt_version} +%else +BuildRequires: pkgconfig(Qt5Core) >= %{min_qt_version} +BuildRequires: pkgconfig(Qt5Test) >= %{min_qt_version} +%endif BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(glib-2.0) >= 2.62 @@ -53,7 +75,7 @@ BuildRequires: pkgconfig(librsvg-2.0) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(pango) -BuildRequires: pkgconfig(xmlb) >= 0.3.13 +BuildRequires: pkgconfig(xmlb) >= 0.3.14 BuildRequires: pkgconfig(yaml-0.1) Recommends: curl %if %{with vala} @@ -64,30 +86,51 @@ BuildRequires: vala AppStream-Core makes it easy to access application information from the AppStream database over a nice GObject-based interface. +%if 0%{?qt6} +%package -n libAppStreamQt%{libAppStreamQt_sover} +Summary: Qt 6 bindings for AppStream +License: GPL-2.0-or-later AND LGPL-2.1-or-later + +%description -n libAppStreamQt%{libAppStreamQt_sover} +The Qt 6 bindings for AppStream. + +%package -n appstream-qt6-devel +Summary: Header files for AppStream's Qt 6 bindings +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Requires: libAppStreamQt%{libAppStreamQt_sover} = %{version} +Requires: libappstream%{libappstream_sover} = %{version} +Conflicts: libAppStreamQt-devel < 1.0 + +%description -n appstream-qt6-devel +This package contains all necessary include files, libraries, +configuration files and development tools (with manual pages) needed to +compile and link applications using the Qt bindings for AppStream. +%else + %package -n libappstream%{libappstream_sover} Summary: The main library for AppStream License: GPL-2.0-or-later AND LGPL-2.1-or-later -Group: System/Libraries %description -n libappstream%{libappstream_sover} The main library for AppStream. -%package -n libAppStreamQt%{libAppStreamQt_sover} -Summary: Qt5 bindings for AppStream +%package -n libAppStreamQt5-%{libAppStreamQt_sover} +Summary: Qt 5 bindings for AppStream License: GPL-2.0-or-later AND LGPL-2.1-or-later -Group: System/Libraries -%description -n libAppStreamQt%{libAppStreamQt_sover} -The Qt5 bindings for AppStream. +%description -n libAppStreamQt5-%{libAppStreamQt_sover} +The Qt 5 bindings for AppStream. -%package -n libAppStreamQt-devel -Summary: Header files for AppStream's Qt5 bindings +%package -n appstream-qt5-devel +Summary: Header files for AppStream's Qt 5 bindings License: GPL-2.0-or-later AND LGPL-2.1-or-later -Group: Development/Libraries/C and C++ -Requires: libAppStreamQt%{libAppStreamQt_sover} = %{version} +Requires: libAppStreamQt5-%{libAppStreamQt_sover} = %{version} Requires: libappstream%{libappstream_sover} = %{version} +# Renamed after the 1.0.0 release +Provides: libAppStreamQt-devel = %{version} +Obsoletes: libAppStreamQt-devel < %{version} -%description -n libAppStreamQt-devel +%description -n appstream-qt5-devel This package contains all necessary include files, libraries, configuration files and development tools (with manual pages) needed to compile and link applications using the Qt bindings for AppStream. @@ -95,8 +138,7 @@ compile and link applications using the Qt bindings for AppStream. %package compose Summary: Support for appstreamcli compose License: GPL-2.0-or-later AND LGPL-2.1-or-later -Group: System/Libraries -Requires: %{name} = %{version} +Requires: AppStream = %{version} Requires: gdk-pixbuf-loader-rsvg %description compose @@ -106,7 +148,6 @@ configuration files to add compose support to appstreamcli. %package -n libappstream-compose%{libappstream_compose_sover} Summary: Libraries for appstream compose support License: GPL-2.0-or-later AND LGPL-2.1-or-later -Group: System/Libraries %description -n libappstream-compose%{libappstream_compose_sover} The library for AppStream compose support. @@ -114,10 +155,9 @@ The library for AppStream compose support. %package compose-devel Summary: Header files for AppStream Compose support License: GPL-2.0-or-later AND LGPL-2.1-or-later -Group: Development/Libraries/C and C++ -Requires: %{name} = %{version} +Requires: AppStream = %{version} Requires: AppStream-compose = %{version} -Requires: libappstream-compose%{libappstream_compose_sover} +Requires: libappstream-compose%{libappstream_compose_sover} = %{version} %description compose-devel This package contains all necessary files, libraries, @@ -126,8 +166,7 @@ configuration files to add compose support using compose. %package devel Summary: Header files for AppStream development License: GPL-2.0-or-later -Group: Development/Libraries/C and C++ -Requires: %{name} = %{version} +Requires: AppStream = %{version} Requires: libappstream%{libappstream_sover} = %{version} %description devel @@ -140,7 +179,6 @@ This package contains the documentation for AppStream. %package doc Summary: Documentation for AppStream License: GPL-2.0-or-later -Group: Documentation/HTML BuildArch: noarch %description doc @@ -166,21 +204,31 @@ Group: System/Libraries GObject introspection bindings for interfaces provided by AppStream. %lang_package +%endif %prep -%autosetup -p1 +%autosetup -p1 -n %{rname}-%{version} %build -%meson -Dqt=true \ - -Dcompose=true \ +%define common_options -Ddocs=false -Dapidocs=false -Dstemming=false %if %{with vala} - -Dvapi=true \ +%define build_vapi true %else - -Dvapi=false \ +%define build_vapi false %endif - -Ddocs=false \ - -Dapidocs=false \ - -Dstemming=false + +%if 0%{?qt6} +%define options -Dqt=true -Dqt-versions=6 -Dvapi=false -Dcompose=false -Dgir=false +%else +%define options -Dqt=true -Dqt-versions=5 -Dcompose=true -Dvapi=%{build_vapi} +%endif + +%if %{with gcc13} +export CC=gcc-13 CXX=g++-13 +%endif + +%meson %{common_options} %{options} + %meson_build %install @@ -189,21 +237,47 @@ GObject introspection bindings for interfaces provided by AppStream. # Unneeded test file rm -r %{buildroot}%{_datadir}/installed-tests +# Only keep the Qt6 library when using the qt6 flavor +%if 0%{?qt6} +rm %{buildroot}%{_bindir}/appstreamcli +rm %{buildroot}%{_libdir}/libappstream.so* +rm -r %{buildroot}%{_datadir}/{appstream,doc,gettext,locale,man,metainfo} +rm -r %{buildroot}%{_includedir}/appstream +rm -r %{buildroot}%{_libdir}/pkgconfig +%else +%find_lang appstream %{name}.lang +%endif + %check %meson_test -%find_lang appstream %{name}.lang - -%ldconfig_scriptlets -n libappstream%{libappstream_sover} +%if 0%{?qt6} %ldconfig_scriptlets -n libAppStreamQt%{libAppStreamQt_sover} +%else +%ldconfig_scriptlets -n libappstream%{libappstream_sover} +%ldconfig_scriptlets -n libAppStreamQt5-%{libAppStreamQt_sover} %ldconfig_scriptlets -n libappstream-compose%{libappstream_compose_sover} +%endif + +%if 0%{?qt6} +%files -n libAppStreamQt%{libAppStreamQt_sover} +%{_libdir}/libAppStreamQt.so.%{libAppStreamQt_sover} +%{_libdir}/libAppStreamQt.so.%{version} + +%files -n appstream-qt6-devel +%{_includedir}/AppStreamQt/ +%{_libdir}/cmake/AppStreamQt/ +%{_libdir}/libAppStreamQt.so + +%else %files lang -f %{name}.lang %files %doc NEWS %{_bindir}/appstreamcli -%config(noreplace) %{_sysconfdir}/appstream.conf +%dir %{_datadir}/appstream +%{_datadir}/appstream/appstream.conf %dir %{_datadir}/metainfo %{_datadir}/metainfo/org.freedesktop.appstream.cli.metainfo.xml %{_mandir}/man1/appstreamcli.* @@ -213,14 +287,14 @@ rm -r %{buildroot}%{_datadir}/installed-tests %{_libdir}/libappstream.so.%{libappstream_sover} %{_libdir}/libappstream.so.%{version} -%files -n libAppStreamQt%{libAppStreamQt_sover} -%{_libdir}/libAppStreamQt.so.%{libAppStreamQt_sover} -%{_libdir}/libAppStreamQt.so.%{version} +%files -n libAppStreamQt5-%{libAppStreamQt_sover} +%{_libdir}/libAppStreamQt5.so.%{libAppStreamQt_sover} +%{_libdir}/libAppStreamQt5.so.%{version} -%files -n libAppStreamQt-devel -%{_includedir}/AppStreamQt/ -%{_libdir}/cmake/AppStreamQt/ -%{_libdir}/libAppStreamQt.so +%files -n appstream-qt5-devel +%{_includedir}/AppStreamQt5/ +%{_libdir}/cmake/AppStreamQt5/ +%{_libdir}/libAppStreamQt5.so %files compose %{_datadir}/metainfo/org.freedesktop.appstream.compose.metainfo.xml @@ -258,5 +332,6 @@ rm -r %{buildroot}%{_datadir}/installed-tests %files -n typelib-1_0-AppStream-compose-1.0 %{_libdir}/girepository-1.0/AppStreamCompose-1.0.typelib +%endif %changelog diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..0467171 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + qt6 + diff --git a/support-meson0.59.patch b/support-meson0.59.patch index fa9feae..3594eac 100644 --- a/support-meson0.59.patch +++ b/support-meson0.59.patch @@ -1,11 +1,20 @@ -Index: AppStream-0.16.4/data/meson.build -=================================================================== ---- AppStream-0.16.4.orig/data/meson.build -+++ AppStream-0.16.4/data/meson.build -@@ -17,6 +17,17 @@ metainfo_with_relinfo = custom_target('g +Add patch to support meson 0.59 which is the only version available in SLE 15 SP5 +Author: Antonio Larrosa + +--- + data/meson.build | 12 ++++++++++++ + meson.build | 4 ++-- + po/meson.build | 15 +++++++++++++++ + 3 files changed, 29 insertions(+), 2 deletions(-) + +diff --git a/data/meson.build b/data/meson.build +index 7ae7a9b3..b9208821 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -24,6 +24,17 @@ metainfo_with_relinfo = custom_target('gen-output', command : [ascli_exe, 'news-to-metainfo', '--limit=6', '@INPUT0@', '@INPUT1@', '@OUTPUT@'] ) - + +if meson.version().version_compare('<0.62') +metainfo_i18n = i18n.merge_file ( + input: metainfo_with_relinfo, @@ -20,26 +29,26 @@ Index: AppStream-0.16.4/data/meson.build metainfo_i18n = i18n.itstool_join( input: metainfo_with_relinfo, output: 'org.freedesktop.appstream.cli.metainfo.xml', -@@ -25,6 +36,7 @@ metainfo_i18n = i18n.itstool_join( +@@ -32,6 +43,7 @@ metainfo_i18n = i18n.itstool_join( install: true, install_dir: metainfo_dir, ) +endif - + test('as-validate_metainfo.cli', ascli_exe, -Index: AppStream-0.16.4/meson.build -=================================================================== ---- AppStream-0.16.4.orig/meson.build -+++ AppStream-0.16.4/meson.build +diff --git a/meson.build b/meson.build +index 4636789f..6742fc7c 100644 +--- a/meson.build ++++ b/meson.build @@ -1,5 +1,5 @@ project('AppStream', 'c', - meson_version: '>=0.62', + meson_version: '>=0.59', - default_options: ['c_std=c11', 'cpp_std=gnu++14'], - - license: 'LGPL-2.1+', -@@ -113,7 +113,7 @@ add_project_arguments( + default_options: ['c_std=c11', 'cpp_std=gnu++17'], + + license: 'LGPL-2.1-or-later', +@@ -107,7 +107,7 @@ add_project_arguments( '-Werror=missing-include-dirs', '-Werror=declaration-after-statement', '-Werror=format-security', @@ -48,23 +57,12 @@ Index: AppStream-0.16.4/meson.build '-Wno-missing-field-initializers', '-Wno-error=missing-field-initializers', '-Wno-unused-parameter', -@@ -131,9 +131,7 @@ add_project_arguments( - '-Werror=return-type', - '-Werror=misleading-indentation', - '-Werror=format-security', -- -- # NOTE: Can be removed with AppStream 1.0 -- '-Wno-error=c++20-compat', -+ '-Werror=format', - language: 'cpp' - ) - -Index: AppStream-0.16.4/po/meson.build -=================================================================== ---- AppStream-0.16.4.orig/po/meson.build -+++ AppStream-0.16.4/po/meson.build +diff --git a/po/meson.build b/po/meson.build +index e9ede195..f7c1d842 100644 +--- a/po/meson.build ++++ b/po/meson.build @@ -1,5 +1,19 @@ - + as_gettext_domain = 'appstream' +if meson.version().version_compare('<0.62') +i18n.gettext(as_gettext_domain, @@ -83,11 +81,13 @@ Index: AppStream-0.16.4/po/meson.build i18n_result = i18n.gettext(as_gettext_domain, preset : 'glib', data_dirs: [join_paths(source_root, 'data')], -@@ -12,6 +26,7 @@ i18n_result = i18n.gettext(as_gettext_do +@@ -12,6 +26,7 @@ i18n_result = i18n.gettext(as_gettext_domain, '--msgid-bugs-address=appstream@lists.freedesktop.org' ] ) +endif - + run_target ('make-linguas', command: ['sh', +-- +2.42.1