dev-cpp/cpp-hocon: [QA] Fix ebuild
authorDavid Seifert <soap@gentoo.org>
Sun, 15 Dec 2019 22:06:29 +0000 (23:06 +0100)
committerDavid Seifert <soap@gentoo.org>
Sun, 15 Dec 2019 22:06:29 +0000 (23:06 +0100)
* 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>
dev-cpp/cpp-hocon/cpp-hocon-0.2.1.ebuild
dev-cpp/cpp-hocon/files/cpp-hocon-0.2.1-cmake.patch [new file with mode: 0644]

index 45f62697011e62f21855d61e7f9be0a76c07e07c..a7c2624ff27b0a8bf4cfead537176f014acd0ed3 100644 (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 )
diff --git a/dev-cpp/cpp-hocon/files/cpp-hocon-0.2.1-cmake.patch b/dev-cpp/cpp-hocon/files/cpp-hocon-0.2.1-cmake.patch
new file mode 100644 (file)
index 0000000..8e0ddb9
--- /dev/null
@@ -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)