summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Andrews <candrews@gentoo.org>2019-01-08 16:32:02 -0500
committerCraig Andrews <candrews@gentoo.org>2019-01-08 19:17:13 -0500
commita8750e4306082f537d9b44d1b9b6b2c9aad503bc (patch)
tree5a738ec2ecc99de423d514dcb2ac85b567833e6c
parentapp-dicts/myspell-es: x86 stable, applying ALLARCHES policy (bug #666824) (diff)
downloadgentoo-a8750e4306082f537d9b44d1b9b6b2c9aad503bc.tar.gz
gentoo-a8750e4306082f537d9b44d1b9b6b2c9aad503bc.tar.bz2
gentoo-a8750e4306082f537d9b44d1b9b6b2c9aad503bc.zip
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>
-rw-r--r--dev-libs/pugixml/files/pugixml-1.9-Use-CMAKE_INSTALL_LIBDIR-for-pugixml.pc.patch39
-rw-r--r--dev-libs/pugixml/files/pugixml-1.9-always-install-the-pkg-config-file.patch71
-rw-r--r--dev-libs/pugixml/files/pugixml-1.9-pkg-config-Use-CMake-GnuInstallDirs-FULL-vars.patch39
-rw-r--r--dev-libs/pugixml/pugixml-1.9-r1.ebuild33
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
+}