dev-cpp/cpp-hocon: [QA] Fix ebuild

* EAPI 7
* Use GNUInstallDirs
* Remove dead variables

Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: David Seifert <soap@gentoo.org>
This commit is contained in:
David Seifert
2019-12-15 23:06:29 +01:00
parent d9c37e6058
commit 1ae54f598d
2 changed files with 52 additions and 27 deletions

View File

@@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
inherit cmake-utils
@@ -11,37 +11,14 @@ SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/puppetlabs/cpp-hocon/commit/caab275509826dc5fe5ab2632582abb8f83ea2b3.patch -> ${PN}-0.2.1-boost-filesystem.patch"
LICENSE="Apache-2.0"
SLOT="0"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86"
IUSE="debug test"
RESTRICT="!test? ( test )"
IUSE="debug"
DEPEND="
>=sys-devel/gcc-4.9.3:*
>=dev-libs/boost-1.54:=[nls]
>=dev-libs/leatherman-0.9.3:=
"
RDEPEND="${DEPEND}"
src_prepare() {
cmake-utils_src_prepare
epatch "${DISTDIR}/${PN}-0.2.1-boost-filesystem.patch"
# make it support multilib
sed -i "s/\ lib)/\ $(get_libdir))/g" lib/CMakeLists.txt || die
sed -i "s/lib\")/$(get_libdir)\")/g" CMakeLists.txt || die
}
src_configure() {
local mycmakeargs=(
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_BUILD_TYPE=None
-DCMAKE_INSTALL_PREFIX=/usr
)
if use debug; then
mycmakeargs+=(
-DCMAKE_BUILD_TYPE=Debug
)
fi
cmake-utils_src_configure
}
PATCHES=( "${FILESDIR}"/${PN}-0.2.1-cmake.patch )

View File

@@ -0,0 +1,48 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,6 +10,8 @@
string(TOUPPER ${PROJECT_C_NAME} PROJECT_NAME_UPPER)
string(TOLOWER ${PROJECT_C_NAME} PROJECT_NAME_LOWER)
+include(GNUInstallDirs)
+
# Common cmake setup
if (NOT CMAKE_BUILD_TYPE)
message(STATUS "Defaulting to a release build.")
@@ -42,7 +44,7 @@
set(BOOST_COMPONENTS regex)
endif()
-list(APPEND BOOST_COMPONENTS thread date_time chrono system program_options)
+list(APPEND BOOST_COMPONENTS thread date_time chrono filesystem system program_options)
# Add other dependencies
find_package(Boost 1.54 REQUIRED COMPONENTS ${BOOST_COMPONENTS})
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -77,7 +77,10 @@
set_target_properties(libprojectsrc PROPERTIES POSITION_INDEPENDENT_CODE true)
add_library(lib${PROJECT_NAME} $<TARGET_OBJECTS:libprojectsrc>)
-set_target_properties(lib${PROJECT_NAME} PROPERTIES VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
+set_target_properties(
+ lib${PROJECT_NAME}
+ PROPERTIES VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}"
+ OUTPUT_NAME ${PROJECT_NAME})
target_link_libraries(lib${PROJECT_NAME}
${LEATHERMAN_LIBRARIES}
${Boost_LIBRARIES}
@@ -88,7 +91,11 @@
symbol_exports(lib${PROJECT_NAME} "${CMAKE_CURRENT_LIST_DIR}/inc/hocon/export.h")
# This correctly handles DLL installation on Windows.
-leatherman_install(lib${PROJECT_NAME})
-install(DIRECTORY inc/hocon DESTINATION include)
+install(
+ TARGETS lib${PROJECT_NAME}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+install(DIRECTORY inc/hocon DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
add_subdirectory(tests)