diff options
author | Craig Andrews <candrews@gentoo.org> | 2019-01-08 16:32:02 -0500 |
---|---|---|
committer | Craig Andrews <candrews@gentoo.org> | 2019-01-08 19:17:13 -0500 |
commit | a8750e4306082f537d9b44d1b9b6b2c9aad503bc (patch) | |
tree | 5a738ec2ecc99de423d514dcb2ac85b567833e6c /dev-libs | |
parent | dec97680e61b444d098580306f0de394cb541bf4 (diff) | |
download | gentoo-a8750e4306082f537d9b44d1b9b6b2c9aad503bc.tar.gz gentoo-a8750e4306082f537d9b44d1b9b6b2c9aad503bc.tar.xz |
dev-libs/pugixml: Install pkg-config, EAPI=7
Closes: https://bugs.gentoo.org/674910
Package-Manager: Portage-2.3.54, Repoman-2.3.12
Signed-off-by: Craig Andrews <candrews@gentoo.org>
Diffstat (limited to 'dev-libs')
4 files changed, 182 insertions, 0 deletions
diff --git a/dev-libs/pugixml/files/pugixml-1.9-Use-CMAKE_INSTALL_LIBDIR-for-pugixml.pc.patch b/dev-libs/pugixml/files/pugixml-1.9-Use-CMAKE_INSTALL_LIBDIR-for-pugixml.pc.patch new file mode 100644 index 00000000000..18928e39cd6 --- /dev/null +++ b/dev-libs/pugixml/files/pugixml-1.9-Use-CMAKE_INSTALL_LIBDIR-for-pugixml.pc.patch @@ -0,0 +1,39 @@ +From c12889f7ccee3a91754f12a4f5b2bf5eb87acabd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Wolfgang=20St=C3=B6ggl?= <c72578@yahoo.de> +Date: Wed, 27 Jun 2018 00:53:42 +0200 +Subject: [PATCH] Use CMAKE_INSTALL_LIBDIR for pugixml.pc (#215) + +- Up to now, the libdir was hardcoded to "lib" inside pugixml.pc and + the install directory of pugixml.pc was "lib/pkgconfig" +- Adds support for lib and lib64 by using CMAKE_INSTALL_LIBDIR variable +--- + CMakeLists.txt | 2 +- + scripts/pugixml.pc.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 148f7b0d..d322a631 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -76,7 +76,7 @@ install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}${INSTALL_SUFFIX + install(EXPORT pugixml-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pugixml) + + configure_file(scripts/pugixml.pc.in ${PROJECT_BINARY_DIR}/pugixml.pc @ONLY) +-install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig) ++install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig) + + if(BUILD_TESTS) + file(GLOB TEST_SOURCES tests/*.cpp) +diff --git a/scripts/pugixml.pc.in b/scripts/pugixml.pc.in +index 04b4d3b0..fbb7f8b8 100644 +--- a/scripts/pugixml.pc.in ++++ b/scripts/pugixml.pc.in +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} + includedir=${prefix}/include@INSTALL_SUFFIX@ +-libdir=${exec_prefix}/lib@INSTALL_SUFFIX@ ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@@INSTALL_SUFFIX@ + + Name: pugixml + Description: Light-weight, simple and fast XML parser for C++ with XPath support. diff --git a/dev-libs/pugixml/files/pugixml-1.9-always-install-the-pkg-config-file.patch b/dev-libs/pugixml/files/pugixml-1.9-always-install-the-pkg-config-file.patch new file mode 100644 index 00000000000..4551280b372 --- /dev/null +++ b/dev-libs/pugixml/files/pugixml-1.9-always-install-the-pkg-config-file.patch @@ -0,0 +1,71 @@ +From daeb8013b20f9c47e85730faaa4131064a1f9c2e Mon Sep 17 00:00:00 2001 +From: Eli Schwartz <eschwartz93@gmail.com> +Date: Mon, 9 Apr 2018 13:48:53 -0400 +Subject: [PATCH] cmake: always install the pkg-config file (#193) + +There's really never a reason to *not* want this installed. If an option +is needed to specify installing in a versioned subdirectory, this option +should be explicitly described rather than hidden in something else. + +As an added bonus, this makes the CMake install code slightly *less* +complicated. +--- + CMakeLists.txt | 10 ++++------ + scripts/pugixml.pc.in | 6 +++--- + 2 files changed, 7 insertions(+), 9 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 90fa6793..d7bc1b20 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,7 +4,7 @@ project(pugixml) + + option(BUILD_SHARED_LIBS "Build shared instead of static library" OFF) + option(BUILD_TESTS "Build tests" OFF) +-option(BUILD_PKGCONFIG "Build in PKGCONFIG mode" OFF) ++option(USE_VERSIONED_LIBDIR "Use a private subdirectory to install the headers and libs" OFF) + + set(BUILD_DEFINES "" CACHE STRING "Build defines") + +@@ -55,7 +55,7 @@ endif() + set_target_properties(pugixml PROPERTIES VERSION 1.9 SOVERSION 1) + get_target_property(PUGIXML_VERSION_STRING pugixml VERSION) + +-if(BUILD_PKGCONFIG) ++if(USE_VERSIONED_LIBDIR) + # Install library into its own directory under LIBDIR + set(INSTALL_SUFFIX /pugixml-${PUGIXML_VERSION_STRING}) + endif() +@@ -71,10 +71,8 @@ install(TARGETS pugixml EXPORT pugixml-config + install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}${INSTALL_SUFFIX}) + install(EXPORT pugixml-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pugixml) + +-if(BUILD_PKGCONFIG) +- configure_file(scripts/pugixml.pc.in ${PROJECT_BINARY_DIR}/pugixml.pc @ONLY) +- install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig) +-endif() ++configure_file(scripts/pugixml.pc.in ${PROJECT_BINARY_DIR}/pugixml.pc @ONLY) ++install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig) + + if(BUILD_TESTS) + file(GLOB TEST_SOURCES tests/*.cpp) +diff --git a/scripts/pugixml.pc.in b/scripts/pugixml.pc.in +index 3c97c28d..804c4d38 100644 +--- a/scripts/pugixml.pc.in ++++ b/scripts/pugixml.pc.in +@@ -1,11 +1,11 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-includedir=${prefix}/include/pugixml-@PUGIXML_VERSION_STRING@ +-libdir=${exec_prefix}/lib/pugixml-@PUGIXML_VERSION_STRING@ ++includedir=${prefix}/include@INSTALL_SUFFIX@ ++libdir=${exec_prefix}/lib@INSTALL_SUFFIX@ + + Name: pugixml + Description: Light-weight, simple and fast XML parser for C++ with XPath support. + URL: http://pugixml.org/ + Version: @PUGIXML_VERSION_STRING@ + Cflags: -I${includedir} +-Libs: -L${libdir} -lpugixml +\ No newline at end of file ++Libs: -L${libdir} -lpugixml diff --git a/dev-libs/pugixml/files/pugixml-1.9-pkg-config-Use-CMake-GnuInstallDirs-FULL-vars.patch b/dev-libs/pugixml/files/pugixml-1.9-pkg-config-Use-CMake-GnuInstallDirs-FULL-vars.patch new file mode 100644 index 00000000000..7a9b0c139cd --- /dev/null +++ b/dev-libs/pugixml/files/pugixml-1.9-pkg-config-Use-CMake-GnuInstallDirs-FULL-vars.patch @@ -0,0 +1,39 @@ +From b3db08ffccb78d680d8f7665ad9ed4cff6f92fcf Mon Sep 17 00:00:00 2001 +From: Millian Poquet <millian.poquet@inria.fr> +Date: Mon, 10 Dec 2018 18:54:40 +0100 +Subject: [PATCH] pkg-config: Use CMake GnuInstallDirs FULL vars + +Fixes an installation problem in Nix packages, as non-FULL variables are +already absolute paths in this case. +--- + CMakeLists.txt | 2 +- + scripts/pugixml.pc.in | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ddc5a5ad..e8c4f592 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -76,7 +76,7 @@ install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}${INSTALL_SUFFIX + install(EXPORT pugixml-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pugixml) + + configure_file(scripts/pugixml.pc.in ${PROJECT_BINARY_DIR}/pugixml.pc @ONLY) +-install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig) + + if(BUILD_TESTS) + file(GLOB TEST_SOURCES tests/*.cpp) +diff --git a/scripts/pugixml.pc.in b/scripts/pugixml.pc.in +index a1678272..f9c3fd45 100644 +--- a/scripts/pugixml.pc.in ++++ b/scripts/pugixml.pc.in +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-includedir=${prefix}/include@INSTALL_SUFFIX@ +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@@INSTALL_SUFFIX@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@@INSTALL_SUFFIX@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@@INSTALL_SUFFIX@ + + Name: pugixml + Description: Light-weight, simple and fast XML parser for C++ with XPath support. diff --git a/dev-libs/pugixml/pugixml-1.9-r1.ebuild b/dev-libs/pugixml/pugixml-1.9-r1.ebuild new file mode 100644 index 00000000000..93ca3d73044 --- /dev/null +++ b/dev-libs/pugixml/pugixml-1.9-r1.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake-utils + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/zeux/${PN}.git" + inherit git-r3 +else + SRC_URI="https://github.com/zeux/${PN}/releases/download/v${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux" +fi + +DESCRIPTION="Light-weight, simple, and fast XML parser for C++ with XPath support" +HOMEPAGE="https://pugixml.org/ https://github.com/zeux/pugixml/" + +LICENSE="MIT" +SLOT="0" + +PATCHES=( + "${FILESDIR}/${P}-always-install-the-pkg-config-file.patch" + "${FILESDIR}/${P}-Use-CMAKE_INSTALL_LIBDIR-for-pugixml.pc.patch" + "${FILESDIR}/${P}-pkg-config-Use-CMake-GnuInstallDirs-FULL-vars.patch" +) + +src_configure() { + local mycmakeargs=( + -DBUILD_SHARED_LIBS=ON + ) + cmake-utils_src_configure +} |