This commit is contained in:
peijiankang 2023-09-07 16:53:50 +08:00
parent aa742cd049
commit 97d6008bf5
4 changed files with 115 additions and 47 deletions

Binary file not shown.

BIN
qtkeychain-0.13.2.tar.gz Normal file

Binary file not shown.

38
qtkeychain-qt6.patch Normal file
View File

@ -0,0 +1,38 @@
diff -rupN qtkeychain-0.13.2/CMakeLists.txt qtkeychain-0.13.2-new/CMakeLists.txt
--- qtkeychain-0.13.2/CMakeLists.txt 2021-11-18 16:34:13.000000000 +0100
+++ qtkeychain-0.13.2-new/CMakeLists.txt 2022-11-29 16:33:35.466131272 +0100
@@ -17,7 +17,6 @@ include(GNUInstallDirs)
include(GenerateExportHeader)
include(CMakePackageConfigHelpers)
include(ECMSetupVersion)
-include(ECMGeneratePriFile)
option(BUILD_WITH_QT6 "Build qtkeychain with Qt 6" OFF)
option(BUILD_TEST_APPLICATION "Build test application" OFF)
@@ -28,6 +27,10 @@ if(QTKEYCHAIN_STATIC)
message(WARNING "QTKEYCHAIN_STATIC is deprecated. Use BUILD_SHARED_LIBS=OFF instead.")
endif()
+if(NOT BUILD_WITH_QT6)
+ include(ECMGeneratePriFile)
+endif()
+
if(CMAKE_SYSTEM_NAME STREQUAL Android)
set(ANDROID 1)
endif()
@@ -286,6 +289,7 @@ ecm_setup_version("${QTKEYCHAIN_VERSION}
if(UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAIKU)
set(PRI_EXTRA_DEPS "dbus")
endif()
+if (NOT BUILD_WITH_QT6)
ecm_generate_pri_file(BASE_NAME Qt${QTKEYCHAIN_VERSION_INFIX}Keychain
LIB_NAME ${QTKEYCHAIN_TARGET_NAME}
DEPS "core ${PRI_EXTRA_DEPS}"
@@ -293,6 +297,7 @@ ecm_generate_pri_file(BASE_NAME Qt${QTKE
FILENAME_VAR pri_filename)
install(FILES ${pri_filename} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
+endif ()
install(EXPORT Qt${QTKEYCHAIN_VERSION_INFIX}KeychainLibraryDepends

View File

@ -1,42 +1,34 @@
%bcond_without qt4
%bcond_without qt5
%bcond_without qt6
Name: qtkeychain
Version: 0.11.1
Version: 0.13.2
Release: 1
Summary: A password store library
License: BSD
Url: https://github.com/frankosterfeld/qtkeychain
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# Fix qt6 detection broken by including ECMGeneratePriFile
Patch0: qtkeychain-qt6.patch
BuildRequires: make
BuildRequires: make
BuildRequires: gcc-c++
BuildRequires: cmake
%if %{with qt4}
BuildRequires: pkgconfig(QtCore)
BuildRequires: pkgconfig(QtDBus)
%endif
BuildRequires: pkgconfig(libsecret-1)
%description
The qtkeychain library allows you to store passwords easily and securely.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: pkgconfig(QtDBus)
# deps referenced in QtKeychainLibraryDepends-relwithdebinfo.cmake: IMPORTED_LINK_INTERFACE_LIBRARIES_RELWITHDEBINFO "/usr/lib64/libQtCore.so;secret-1;gio-2.0;gobject-2.0;glib-2.0;/usr/lib64/libQtDBus.so"
# *probably* overlinking and can be pruned, but requires closer inspection
Requires: pkgconfig(libsecret-1)
%description devel
This package contains development files for qtkeychain.
%if %{with qt5}
%package qt5
Summary: %{summary}
%description qt5
The qt5keychain library allows you to store passwords easily and securely.
%package qt5-devel
Summary: Development files for %{name}-qt5
BuildRequires: qt5-qtbase-devel
@ -49,58 +41,80 @@ Requires: pkgconfig(libsecret-1)
%description qt5-devel
This package contains development files for qt5keychain.
%endif
%if %{with qt6}
%package qt6
Summary: %{summary}
%description qt6
The qt6keychain library allows you to store passwords easily and securely.
%package qt6-devel
Summary: Development files for %{name}-qt6
BuildRequires: cmake(Qt6Core)
BuildRequires: cmake(Qt6LinguistTools)
Requires: %{name}-qt6%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: qt6-qtbase-devel%{?_isa}
# deps referenced in Qt6KeychainLibraryDepends-relwithdebinfo.cmake: IMPORTED_LINK_INTERFACE_LIBRARIES_RELWITHDEBINFO "Qt6::Core;secret-1;gio-2.0;gobject-2.0;glib-2.0;Qt6::DBus"
# *probably* overlinking and can be pruned, but requires closer inspection
Requires: pkgconfig(libsecret-1)
%description qt6-devel
This package contains development files for qt6keychain.
%endif
%prep
%autosetup -p1
%if %{with qt4}
mkdir %{_target_platform}-qt4
%if %{with qt5}
mkdir %{_target_platform}-qt5
%endif
%if %{with qt6}
mkdir %{_target_platform}-qt6
%endif
%build
%if %{with qt4}
%cmake -B %{_target_platform}-qt4 \
-DBUILD_WITH_QT4:BOOL=ON \
%if %{with qt5}
%cmake -B %{_target_platform}-qt5 \
-DBUILD_WITH_QT6:BOOL=OFF \
-DECM_MKSPECS_INSTALL_DIR=%{_qt5_archdatadir}/mkspecs/modules \
-DCMAKE_BUILD_TYPE=RelWithDebInfo
%make_build -C %{_target_platform}-qt4
cmake --build %{_target_platform}-qt5 %{?_smp_mflags} --verbose
%endif
%cmake \
-DBUILD_WITH_QT4:BOOL=OFF \
%if %{with qt6}
%cmake -B %{_target_platform}-qt6 \
-DBUILD_WITH_QT6:BOOL=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build %{_target_platform}-qt6 %{?_smp_mflags} --verbose
%endif
%make_build
%install
%if %{with qt4}
%make_install -C %{_target_platform}-qt4
%if %{with qt5}
DESTDIR="%{buildroot}" cmake --install %{_target_platform}-qt5
%endif
%if %{with qt6}
DESTDIR="%{buildroot}" cmake --install %{_target_platform}-qt6
%endif
%make_install
%find_lang %{name} --with-qt
%if %{with qt4}
grep %{_datadir}/%{name}/translations %{name}.lang > %{name}-qt4.lang
%endif
%if %{with qt5}
grep %{_datadir}/qt5keychain/translations %{name}.lang > %{name}-qt5.lang
%if %{with qt4}
%files -f %{name}-qt4.lang
%doc ReadMe.txt
%license COPYING
%{_libdir}/libqtkeychain.so.1
%{_libdir}/libqtkeychain.so.0*
%files devel
%{_includedir}/qtkeychain/
%{_libdir}/cmake/QtKeychain/
%{_libdir}/libqtkeychain.so
%{_libdir}/qt5/mkspecs/modules/qt_QtKeychain.pri
%endif
%if %{with qt6}
grep %{_datadir}/qt6keychain/translations %{name}.lang > %{name}-qt6.lang
%endif
%if %{with qt5}
%files qt5 -f %{name}-qt5.lang
%doc ReadMe.txt
%license COPYING
%{_libdir}/libqt5keychain.so.1
%{_libdir}/libqt5keychain.so.0*
@ -109,9 +123,25 @@ grep %{_datadir}/qt5keychain/translations %{name}.lang > %{name}-qt5.lang
%{_includedir}/qt5keychain/
%{_libdir}/cmake/Qt5Keychain/
%{_libdir}/libqt5keychain.so
%{_libdir}/qt5/mkspecs/modules/qt_Qt5Keychain.pri
%{_qt5_archdatadir}/mkspecs/modules/qt_Qt5Keychain.pri
%endif
%if %{with qt6}
%files qt6 -f %{name}-qt6.lang
%license COPYING
%{_libdir}/libqt6keychain.so.1
%{_libdir}/libqt6keychain.so.0*
%files qt6-devel
%{_includedir}/qt6keychain/
%{_libdir}/cmake/Qt6Keychain/
%{_libdir}/libqt6keychain.so
%endif
%changelog
* Thu Sep 07 2023 peijiankang <peijiankang@kylinos.cn> - 0.13.2-1
- 0.13.2
* Thu Apr 27 2023 peijiankang <peijiankang@kylinos.cn> - 0.11.1-1
- Init Package for openEuler