The package rpms/ikona.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/ikona.git/commit/?id=9f31e5e96028....
Change:
-ExclusiveArch: %{qt5_qtwebengine_arches}
Thanks.
Full change:
============
commit 496d3c1d06ec448f6b95cfbd93fad0b1fe195c6c
Author: Carson Black <uhhadd(a)gmail.com>
Date: Fri Apr 17 18:07:28 2020 -0400
Add new sources
diff --git a/.gitignore b/.gitignore
index c1b0177..a8113b5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
/ikona-v0.7.1.tar.gz
+/ikona-1.0.cargo.vendor.tar.xz
+/ikona-1.0.tar.xz
diff --git a/sources b/sources
index e3213fd..0d1bb56 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
-SHA512 (ikona-v0.7.1.tar.gz) =
78e82c186e0a0e0d520b0ff6fe6d3c8e92a44579fa0c27d45052eac290329d78a44a462b3749f50e7331a51e9c11c019be320cef87054e8bdab285df10e6f0f4
+SHA512 (ikona-1.0.cargo.vendor.tar.xz) =
3bca0c7b66e603e7e06e0ac30c0cdb3d8c3baa812e600f322ef56a0be1692e57cc39348f1c40fdcfe07da6d4b624604cec0003f0d7e1be419462fff5832cd301
+SHA512 (ikona-1.0.tar.xz) =
30bde3f3b062ccf661ee8950c762412a6b9eebff625216641607cbae7f7f8123702c231cbce82acfb666a8b69c863e4b22e8daf79d1541b7c70781189ffee144
commit a05a913ddfefd8992b4d9808aaa79dd4685262ab
Author: Carson Black <uhhadd(a)gmail.com>
Date: Fri Apr 17 17:53:31 2020 -0400
Fix bad linking
diff --git a/ikona.spec b/ikona.spec
index c36df5e..ec1abe8 100644
--- a/ikona.spec
+++ b/ikona.spec
@@ -147,9 +147,6 @@ Fish completions for %{name}-cli.
%{_datadir}/icons/hicolor/scalable/apps/*.svg
%{_datadir}/applications/*.desktop
%{_datadir}/metainfo/*.appdata.xml
-# this library only exists because I forgot to statically link it into the binary
-# upstream.
-%{_libdir}/libikonars.so
%changelog
* Wed Jan 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-3
diff --git a/linking.patch b/linking.patch
index 33755f1..cead91b 100644
--- a/linking.patch
+++ b/linking.patch
@@ -39,7 +39,7 @@ index e1fd6b2..d9473aa 100644
PRIVATE
$<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
target_link_libraries(ikona
- PRIVATE Qt5::Core Qt5::Widgets Qt5::Quick KF5::I18n KF5::Kirigami2 KF5::ConfigWidgets
${RUST_LIB})
-+ PRIVATE dl pthread Qt5::Core Qt5::Widgets Qt5::Quick KF5::I18n KF5::Kirigami2
KF5::ConfigWidgets PkgConfig::cairo PkgConfig::cairo-png PkgConfig::cairo-gobject
PkgConfig::fontconfig PkgConfig::freetype2 PkgConfig::gdk-pixbuf-2.0 PkgConfig::gio-2.0
PkgConfig::gio-unix-2.0 PkgConfig::glib-2.0 PkgConfig::gmodule-2.0 PkgConfig::gthread-2.0
PkgConfig::libxml-2.0 PkgConfig::pangocairo PkgConfig::pangoft2 ${RUST_LIB})
++ PRIVATE Qt5::Core Qt5::Widgets Qt5::Quick KF5::I18n KF5::Kirigami2 KF5::ConfigWidgets
PkgConfig::cairo PkgConfig::cairo-png PkgConfig::cairo-gobject PkgConfig::fontconfig
PkgConfig::freetype2 PkgConfig::gdk-pixbuf-2.0 PkgConfig::gio-2.0 PkgConfig::gio-unix-2.0
PkgConfig::glib-2.0 PkgConfig::gmodule-2.0 PkgConfig::gthread-2.0 PkgConfig::libxml-2.0
PkgConfig::pangocairo PkgConfig::pangoft2 ${RUST_LIB} dl pthread)
install(TARGETS ikona DESTINATION ${CMAKE_INSTALL_BINDIR})
-install(FILES ${RUST_LIB} DESTINATION ${CMAKE_INSTALL_LIBDIR})
commit 9f31e5e9602877661de9cd6339c94c6bc74aedfe
Author: Carson Black <uhhadd(a)gmail.com>
Date: Fri Apr 17 16:05:23 2020 -0400
Ikona 1.0, faulty
diff --git a/ikona.spec b/ikona.spec
index f1abdd1..c36df5e 100644
--- a/ikona.spec
+++ b/ikona.spec
@@ -1,11 +1,20 @@
+# Ikona's Cargo.toml causes % cargo_prep to fail due to it being a workspace.
+# See
https://bugzilla.redhat.com/show_bug.cgi?id=1823922.
+# And even if that did work, Ikona would have issues due to circular dependencies
+# being autogenerated. And even if *that* did work, the crate versions offered in repos
+# won't satisfy Ikona's dependencies. Hooray.
+%global bundled_rust_deps 1
+
Name: ikona
-Version: 0.7.1
-Release: 3%{?dist}
+Version: 1.0
+Release: 1%{?dist}
Summary: Icon Preview designed for Plasma
License: GPLv2+
-URL:
https://invent.kde.org/KDE/ikona
-Source0:
https://invent.kde.org/kde/ikona/-/archive/v%{version}/%{name}-v%{version...
+URL:
https://invent.kde.org/KDE/%{name}
+Source0:
https://download.kde.org/stable/%{name}/%{version}/%{name}-%{version}.tar.xz
+Source1:
https://download.kde.org/stable/%{name}/%{version}/%{name}-%{version}.car...
+Patch0: linking.patch
BuildRequires: appdata-tools
BuildRequires: cmake
@@ -14,27 +23,57 @@ BuildRequires: gcc-c++
BuildRequires: make
BuildRequires: pkgconfig
+BuildRequires: cmake(KF5ConfigWidgets)
BuildRequires: cmake(KF5Kirigami2)
BuildRequires: cmake(KF5Plasma)
BuildRequires: cmake(KF5PlasmaQuick)
+BuildRequires: cmake(KF5I18n)
+
+BuildRequires: pkgconfig(cairo)
+BuildRequires: pkgconfig(cairo-png)
+BuildRequires: pkgconfig(cairo-gobject)
+BuildRequires: pkgconfig(fontconfig)
+BuildRequires: pkgconfig(freetype2)
+BuildRequires: pkgconfig(gdk-pixbuf-2.0)
+BuildRequires: pkgconfig(gio-2.0)
+BuildRequires: pkgconfig(gio-unix-2.0)
+BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(gmodule-2.0)
+BuildRequires: pkgconfig(gthread-2.0)
+BuildRequires: pkgconfig(libxml-2.0)
+BuildRequires: pkgconfig(pangocairo)
+BuildRequires: pkgconfig(pangoft2)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Quick)
BuildRequires: pkgconfig(Qt5QuickControls2)
-BuildRequires: pkgconfig(Qt5WebEngine)
BuildRequires: pkgconfig(Qt5Widgets)
-Requires: hicolor-icon-theme
+%if 0%{?bundled_rust_deps}
+BuildRequires: cargo
+BuildRequires: rust
+%else
+BuildRequires: rust-packaging
+%endif
+
Requires: kf5-kirigami2
Requires: kf5-plasma
-ExclusiveArch: %{qt5_qtwebengine_arches}
-
%description
A utility to preview icons as they are being made.
%prep
-%setup -q -n %{name}-v%{version}
+%setup -q
+%patch0
+%if 0%{?bundled_rust_deps}
+ cp %{SOURCE1} %{name}.cargo.vendor.tar.xz
+%else
+ pushd src/rs
+ rm -rf vendor .cargo Cargo.lock
+ %cargo_prep
+ %cargo_generate_buildrequires
+ popd
+%endif
%build
%cmake
@@ -42,18 +81,75 @@ A utility to preview icons as they are being made.
%install
%make_install
+%find_lang ikona ikona-qml.lang
+%find_lang ikonacli ikona-cli.lang
%check
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.xml
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
-%files
+%package cli
+Summary: Access %{name}'s functionality from the command line
+
+%description cli
+%{name}-cli is a command-line utility allowing you to manipulate icons from
+the command line.
+
+%package cli-bash-completions
+Summary: Bash completions for %{name}-cli
+Requires: %{name}-cli
+Requires: bash
+Supplements: (%{name}-cli and bash)
+BuildArch: noarch
+
+%description cli-bash-completions
+Bash completions for %{name}-cli.
+
+%package cli-zsh-completions
+Summary: ZSH completions for %{name}-cli
+Requires: %{name}-cli
+Requires: zsh
+Supplements: (%{name}-cli and zsh)
+BuildArch: noarch
+
+%description cli-zsh-completions
+ZSH completions for %{name}-cli.
+
+%package cli-fish-completions
+Summary: Fish completions for %{name}-cli
+Requires: %{name}-cli
+Requires: fish
+Supplements: (%{name}-cli and fish)
+BuildArch: noarch
+
+%description cli-fish-completions
+Fish completions for %{name}-cli.
+
+%files cli -f ikona-cli.lang
+%{_bindir}/ikona-cli
+
+%files cli-zsh-completions
+%{_datadir}/zsh/site-functions/_ikona-cli
+
+%files cli-fish-completions
+%dir %{_datadir}/fish/
+%dir %{_datadir}/fish/completions/
+%{_datadir}/fish/completions/ikona-cli.fish
+
+%files cli-bash-completions
+%dir %{_prefix}%{_sysconfdir}/bash_completion.d/
+%{_prefix}%{_sysconfdir}/bash_completion.d/ikona-cli.bash
+
+%files -f ikona-qml.lang
%license LICENSE
%doc README.md
%{_bindir}/ikona
%{_datadir}/icons/hicolor/scalable/apps/*.svg
%{_datadir}/applications/*.desktop
%{_datadir}/metainfo/*.appdata.xml
+# this library only exists because I forgot to statically link it into the binary
+# upstream.
+%{_libdir}/libikonars.so
%changelog
* Wed Jan 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-3
diff --git a/linking.patch b/linking.patch
new file mode 100644
index 0000000..33755f1
--- /dev/null
+++ b/linking.patch
@@ -0,0 +1,48 @@
+diff --git CMakeLists.txt CMakeLists.txt
+index e1fd6b2..d9473aa 100644
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -17,6 +17,22 @@ find_package(Qt5 COMPONENTS Core Widgets Quick REQUIRED)
+ find_package(KF5Kirigami2)
+ find_package(KF5ConfigWidgets)
+ find_package(KF5I18n)
++find_package(PkgConfig REQUIRED)
++
++pkg_check_modules(cairo REQUIRED IMPORTED_TARGET cairo)
++pkg_check_modules(cairo-png REQUIRED IMPORTED_TARGET cairo-png)
++pkg_check_modules(cairo-gobject REQUIRED IMPORTED_TARGET cairo-gobject)
++pkg_check_modules(fontconfig REQUIRED IMPORTED_TARGET fontconfig)
++pkg_check_modules(freetype2 REQUIRED IMPORTED_TARGET freetype2)
++pkg_check_modules(gdk-pixbuf-2.0 REQUIRED IMPORTED_TARGET gdk-pixbuf-2.0)
++pkg_check_modules(gio-2.0 REQUIRED IMPORTED_TARGET gio-2.0)
++pkg_check_modules(gio-unix-2.0 REQUIRED IMPORTED_TARGET gio-unix-2.0)
++pkg_check_modules(glib-2.0 REQUIRED IMPORTED_TARGET glib-2.0)
++pkg_check_modules(gmodule-2.0 REQUIRED IMPORTED_TARGET gmodule-2.0)
++pkg_check_modules(gthread-2.0 REQUIRED IMPORTED_TARGET gthread-2.0)
++pkg_check_modules(libxml-2.0 REQUIRED IMPORTED_TARGET libxml-2.0)
++pkg_check_modules(pangocairo REQUIRED IMPORTED_TARGET pangocairo)
++pkg_check_modules(pangoft2 REQUIRED IMPORTED_TARGET pangoft2)
+
+ # rust
+
+@@ -36,7 +52,7 @@ if(withsvgcleaner)
+ endif()
+
+ SET(RUST_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/rs")
+-SET(RUST_LIB "${RUST_DIR}/${RUST_TARGET_DIR}/libikonars.so")
++SET(RUST_LIB "${RUST_DIR}/${RUST_TARGET_DIR}/libikonars.a")
+ SET(RUST_BIN "${RUST_DIR}/${RUST_TARGET_DIR}/ikona-cli")
+ SET(ZSH_COMPL "${RUST_DIR}/${RUST_TARGET_DIR}/_ikona-cli")
+ SET(BASH_COMPL "${RUST_DIR}/${RUST_TARGET_DIR}/ikona-cli.bash")
+@@ -81,10 +97,9 @@ add_dependencies(ikona rust_target)
+ target_compile_definitions(ikona
+ PRIVATE
$<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
+ target_link_libraries(ikona
+- PRIVATE Qt5::Core Qt5::Widgets Qt5::Quick KF5::I18n KF5::Kirigami2 KF5::ConfigWidgets
${RUST_LIB})
++ PRIVATE dl pthread Qt5::Core Qt5::Widgets Qt5::Quick KF5::I18n KF5::Kirigami2
KF5::ConfigWidgets PkgConfig::cairo PkgConfig::cairo-png PkgConfig::cairo-gobject
PkgConfig::fontconfig PkgConfig::freetype2 PkgConfig::gdk-pixbuf-2.0 PkgConfig::gio-2.0
PkgConfig::gio-unix-2.0 PkgConfig::glib-2.0 PkgConfig::gmodule-2.0 PkgConfig::gthread-2.0
PkgConfig::libxml-2.0 PkgConfig::pangocairo PkgConfig::pangoft2 ${RUST_LIB})
+
+ install(TARGETS ikona DESTINATION ${CMAKE_INSTALL_BINDIR})
+-install(FILES ${RUST_LIB} DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(FILES ${RUST_BIN}
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE
GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)