diff options
author | Alexey Sokolov <alexey+gentoo@asokolov.org> | 2022-08-26 00:30:55 +0100 |
---|---|---|
committer | Jason Zaman <perfinion@gentoo.org> | 2022-11-04 18:32:22 -0700 |
commit | 345537cf13b319747ab5b42fbec5831409721aed (patch) | |
tree | ca15a4f4a8237e84f5038397a0aa6a80b245c4bb /dev-libs | |
parent | app-i18n/ibus-m17n: drop old (diff) | |
download | gentoo-345537cf13b319747ab5b42fbec5831409721aed.tar.gz gentoo-345537cf13b319747ab5b42fbec5831409721aed.tar.bz2 gentoo-345537cf13b319747ab5b42fbec5831409721aed.zip |
dev-libs/qxlsx: new package, add 1.4.4
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org>
Signed-off-by: Jason Zaman <perfinion@gentoo.org>
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/qxlsx/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/qxlsx/files/qxlsx-1.4.4-libdir.patch | 26 | ||||
-rw-r--r-- | dev-libs/qxlsx/files/qxlsx-1.4.4-qtdefs.patch | 24 | ||||
-rw-r--r-- | dev-libs/qxlsx/files/qxlsx-1.4.4-qtversion.patch | 92 | ||||
-rw-r--r-- | dev-libs/qxlsx/files/qxlsx-1.4.4-soversion.patch | 23 | ||||
-rw-r--r-- | dev-libs/qxlsx/metadata.xml | 15 | ||||
-rw-r--r-- | dev-libs/qxlsx/qxlsx-1.4.4.ebuild | 62 |
7 files changed, 243 insertions, 0 deletions
diff --git a/dev-libs/qxlsx/Manifest b/dev-libs/qxlsx/Manifest new file mode 100644 index 000000000000..5ff17575c7b0 --- /dev/null +++ b/dev-libs/qxlsx/Manifest @@ -0,0 +1 @@ +DIST qxlsx-1.4.4.tar.gz 4703732 BLAKE2B 0acf5e708f4dc981723a34b524c820a53a66cb13bf1ce5a1086106230e45dcac2ea6587b3c4ca039de491565ac886a2e5bd1225ee39437ee89a2ff7560da6fd7 SHA512 e6c3dd8822f2a8ab8bcd1a7434db7b202291e3d8de407e4629bdfc1afef507b57da4bc4a715d57b8d75915ce4b623189269083824c35d8e02d49d3e8909cceee diff --git a/dev-libs/qxlsx/files/qxlsx-1.4.4-libdir.patch b/dev-libs/qxlsx/files/qxlsx-1.4.4-libdir.patch new file mode 100644 index 000000000000..ffdf8483f41a --- /dev/null +++ b/dev-libs/qxlsx/files/qxlsx-1.4.4-libdir.patch @@ -0,0 +1,26 @@ +From 5d1059941f85365019ed08254e79abdb4ba80ee5 Mon Sep 17 00:00:00 2001 +From: Alexey Sokolov <sokolov@google.com> +Date: Sun, 4 Sep 2022 01:22:30 +0100 +Subject: [PATCH] Install library to the correct lib dir + +--- + QXlsx/CMakeLists.txt | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/QXlsx/CMakeLists.txt b/QXlsx/CMakeLists.txt +index a6b1944..fc32918 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -181,9 +181,9 @@ set_target_properties(QXlsx PROPERTIES + + install(TARGETS QXlsx + EXPORT QXlsxTargets DESTINATION ${CMAKE_INSTALL_LIBDIR} +- RUNTIME DESTINATION bin COMPONENT runtime +- ARCHIVE DESTINATION lib COMPONENT devel +- PUBLIC_HEADER DESTINATION include/QXlsx COMPONENT devel ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/QXlsx COMPONENT devel + ) + + install(EXPORT QXlsxTargets diff --git a/dev-libs/qxlsx/files/qxlsx-1.4.4-qtdefs.patch b/dev-libs/qxlsx/files/qxlsx-1.4.4-qtdefs.patch new file mode 100644 index 000000000000..15795c645d47 --- /dev/null +++ b/dev-libs/qxlsx/files/qxlsx-1.4.4-qtdefs.patch @@ -0,0 +1,24 @@ +From 8e83402db866ae7a67582da28aa68c83545f13c8 Mon Sep 17 00:00:00 2001 +From: Alexey Sokolov <sokolov@google.com> +Date: Fri, 26 Aug 2022 01:36:53 +0100 +Subject: [PATCH] Don't force Qt definitions onto users + +It breaks users who use "signals" keyword and convert const char* to +QString. +--- + QXlsx/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/QXlsx/CMakeLists.txt b/QXlsx/CMakeLists.txt +index aa774b1..a6b1944 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -140,7 +140,7 @@ add_library(QXlsx + + add_library(QXlsx::QXlsx ALIAS QXlsx) + +-target_compile_definitions(QXlsx PUBLIC ++target_compile_definitions(QXlsx PRIVATE + -DQT_NO_KEYWORDS + -DQT_NO_CAST_TO_ASCII + -DQT_NO_CAST_FROM_ASCII diff --git a/dev-libs/qxlsx/files/qxlsx-1.4.4-qtversion.patch b/dev-libs/qxlsx/files/qxlsx-1.4.4-qtversion.patch new file mode 100644 index 000000000000..f94aa6e46414 --- /dev/null +++ b/dev-libs/qxlsx/files/qxlsx-1.4.4-qtversion.patch @@ -0,0 +1,92 @@ +commit e3565f2b3999ead739066b33fa0fd346eb072d87 +Author: Alexey Sokolov <sokolov@google.com> +Date: Sun Oct 2 22:46:03 2022 +0100 + + Support installing qt5 and qt6 versions in parallel + +diff --git a/QXlsx/CMakeLists.txt b/QXlsx/CMakeLists.txt +index 5640d8a..8d34020 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -15,8 +15,8 @@ include(GNUInstallDirs) + +-find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Gui REQUIRED) + find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui REQUIRED) ++set(EXPORT_NAME QXlsxQt${QT_VERSION_MAJOR}) + +-if (QT_MAJOR_VERSION EQUAL 6) ++if (QT_VERSION_MAJOR EQUAL 6) + set(CMAKE_CXX_STANDARD 17 CACHE STRING "") + else() + set(CMAKE_CXX_STANDARD 11 CACHE STRING "") +@@ -166,7 +167,7 @@ if (BUILD_SHARED_LIBS) + target_compile_definitions(QXlsx PUBLIC QXlsx_SHAREDLIB) + endif() + +-target_link_libraries(${PROJECT_NAME} ++target_link_libraries(QXlsx + Qt${QT_VERSION_MAJOR}::Core + Qt${QT_VERSION_MAJOR}::GuiPrivate + ) +@@ -180,39 +181,38 @@ PUBLIC + ) + + set_target_properties(QXlsx PROPERTIES +- EXPORT_NAME QXlsx ++ OUTPUT_NAME ${EXPORT_NAME} + VERSION ${PROJECT_VERSION} + SOVERSION 0.${PROJECT_VERSION} + PUBLIC_HEADER "${QXLSX_PUBLIC_HEADERS}" + ) + + install(TARGETS QXlsx +- EXPORT QXlsxTargets DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ EXPORT ${EXPORT_NAME}Targets DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/QXlsx COMPONENT devel + ) + +-install(EXPORT QXlsxTargets +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/QXlsx/ +- FILE QXlsxTargets.cmake ++install(EXPORT ${EXPORT_NAME}Targets ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${EXPORT_NAME}/ ++ FILE ${EXPORT_NAME}Targets.cmake + NAMESPACE QXlsx:: + COMPONENT devel + ) + + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/qxlsx-config.cmake.in +- ${CMAKE_CURRENT_BINARY_DIR}/QXlsxConfig.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}Config.cmake + @ONLY + ) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/qxlsx-config-version.cmake.in +- ${CMAKE_CURRENT_BINARY_DIR}/QXlsxConfigVersion.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}ConfigVersion.cmake + @ONLY + ) + install( + FILES +- ${CMAKE_CURRENT_BINARY_DIR}/QXlsxConfig.cmake +- ${CMAKE_CURRENT_BINARY_DIR}/QXlsxConfigVersion.cmake +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/QXlsx/ ++ ${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}Config.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}ConfigVersion.cmake ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${EXPORT_NAME}/ + ) +- + include(CPackConfig) +diff --git a/QXlsx/cmake/modules/qxlsx-config.cmake.in b/QXlsx/cmake/modules/qxlsx-config.cmake.in +index 1aab813..d72276b 100644 +--- a/cmake/modules/qxlsx-config.cmake.in ++++ b/cmake/modules/qxlsx-config.cmake.in +@@ -10,5 +10,5 @@ + SET(prefix "@CMAKE_INSTALL_PREFIX@") + SET(exec_prefix "@CMAKE_INSTALL_PREFIX@") + SET(QXlsx_FOUND "TRUE") +- +-include("${CMAKE_CURRENT_LIST_DIR}/QXlsxTargets.cmake") ++ ++include("${CMAKE_CURRENT_LIST_DIR}/@EXPORT_NAME@Targets.cmake") diff --git a/dev-libs/qxlsx/files/qxlsx-1.4.4-soversion.patch b/dev-libs/qxlsx/files/qxlsx-1.4.4-soversion.patch new file mode 100644 index 000000000000..eff465497930 --- /dev/null +++ b/dev-libs/qxlsx/files/qxlsx-1.4.4-soversion.patch @@ -0,0 +1,23 @@ +From 647acc3c4d431278f3d2867a41a06d57f1978e63 Mon Sep 17 00:00:00 2001 +From: Alexey Sokolov <sokolov@google.com> +Date: Sat, 8 Oct 2022 23:47:23 +0100 +Subject: [PATCH] Set soversion to version + +Since there's no ABI guarantees, as mentioned in #243 +--- + QXlsx/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/QXlsx/CMakeLists.txt b/QXlsx/CMakeLists.txt +index 8ddfd20..5640d8a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -182,7 +182,7 @@ PUBLIC + set_target_properties(QXlsx PROPERTIES + EXPORT_NAME QXlsx + VERSION ${PROJECT_VERSION} +- SOVERSION 0 ++ SOVERSION 0.${PROJECT_VERSION} + PUBLIC_HEADER "${QXLSX_PUBLIC_HEADERS}" + ) + diff --git a/dev-libs/qxlsx/metadata.xml b/dev-libs/qxlsx/metadata.xml new file mode 100644 index 000000000000..12de43e54308 --- /dev/null +++ b/dev-libs/qxlsx/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>alexey+gentoo@asokolov.org</email> + <name>Alexey Sokolov</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github">QtExcel/QXlsx</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-libs/qxlsx/qxlsx-1.4.4.ebuild b/dev-libs/qxlsx/qxlsx-1.4.4.ebuild new file mode 100644 index 000000000000..2abdd125d872 --- /dev/null +++ b/dev-libs/qxlsx/qxlsx-1.4.4.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multibuild cmake + +DESCRIPTION="Excel file(*.xlsx) reader/writer library using Qt" + +HOMEPAGE="https://github.com/QtExcel/QXlsx" +SRC_URI="https://github.com/QtExcel/QXlsx/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +# soversion +SLOT="0/0.${PV}" +KEYWORDS="~amd64" + +IUSE="qt5 qt6" +REQUIRED_USE="|| ( qt5 qt6 )" + +RDEPEND=" + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5= + ) + qt6? ( + dev-qt/qtbase:6=[gui] + ) +" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/QXlsx-${PV}/QXlsx" +PATCHES=( + "${FILESDIR}/${P}-libdir.patch" + "${FILESDIR}/${P}-qtdefs.patch" + "${FILESDIR}/${P}-soversion.patch" + "${FILESDIR}/${P}-qtversion.patch" +) + +pkg_setup() { + MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) ) +} + +src_configure() { + my_src_configure() { + local mycmakeargs=( + -DQT_VERSION_MAJOR="${MULTIBUILD_VARIANT/qt/}" + ) + + cmake_src_configure + } + + multibuild_foreach_variant my_src_configure +} + +src_compile() { + multibuild_foreach_variant cmake_src_compile +} + +src_install() { + multibuild_foreach_variant cmake_src_install +} |