diff options
author | Sebastian Parborg <darkdefende@gmail.com> | 2021-06-12 14:00:18 +0200 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-06-12 12:54:54 +0000 |
commit | 91773fd1eb57d4c080c0151f5899f1631ddf2aac (patch) | |
tree | fbefa4cdaae4805460c949ba9004bd957d1fa1ec | |
parent | kde-plasma/plasma-meta: arm64 keyworded (diff) | |
download | gentoo-91773fd1eb57d4c080c0151f5899f1631ddf2aac.tar.gz gentoo-91773fd1eb57d4c080c0151f5899f1631ddf2aac.tar.bz2 gentoo-91773fd1eb57d4c080c0151f5899f1631ddf2aac.zip |
dev-cpp/pystring: Don't use hardcoded g++ (convert to CMake)
Convert the project into cmake so we get compiler switching for free.
Closes: https://bugs.gentoo.org/795156
Closes: https://bugs.gentoo.org/795168
Signed-off-by: Sebastian Parborg <darkdefende@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/21209
Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r-- | dev-cpp/pystring/files/cmake.patch | 84 | ||||
-rw-r--r-- | dev-cpp/pystring/pystring-1.1.3-r1.ebuild (renamed from dev-cpp/pystring/pystring-1.1.3.ebuild) | 20 |
2 files changed, 91 insertions, 13 deletions
diff --git a/dev-cpp/pystring/files/cmake.patch b/dev-cpp/pystring/files/cmake.patch new file mode 100644 index 000000000000..bd4e01e6658b --- /dev/null +++ b/dev-cpp/pystring/files/cmake.patch @@ -0,0 +1,84 @@ +From 4f653fc35421129eae8a2c424901ca7170059370 Mon Sep 17 00:00:00 2001 +From: Harry Mallon <harry.mallon@codex.online> +Date: Thu, 15 Apr 2021 15:50:22 +0100 +Subject: [PATCH] Add a CMake configuration + +--- + CMakeLists.txt | 56 +++++++++++++++++++++++++++++++++++ + cmake/pystringConfig.cmake.in | 4 +++ + 2 files changed, 60 insertions(+) + create mode 100644 CMakeLists.txt + create mode 100644 cmake/pystringConfig.cmake.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +new file mode 100644 +index 0000000..0081a83 +--- /dev/null ++++ b/CMakeLists.txt +@@ -0,0 +1,56 @@ ++cmake_minimum_required(VERSION 3.2) ++ ++option(BUILD_SHARED_LIBS "Create shared libraries if ON" OFF) ++ ++project(pystring LANGUAGES CXX) ++ ++# pystring library ====== ++ ++add_library(pystring ++ pystring.cpp ++ pystring.h ++) ++set_target_properties(pystring ++ PROPERTIES ++ PUBLIC_HEADER pystring.h ++ SOVERSION 0.0) ++ ++set(EXPORT_NAME "${PROJECT_NAME}Targets") ++set(NAMESPACE "${PROJECT_NAME}::") ++ ++# test ====== ++ ++include(CTest) ++ ++if(BUILD_TESTING) ++ add_executable(pystring_test ++ test.cpp ++ unittest.h ++ ) ++ ++ target_link_libraries(pystring_test pystring) ++ ++ add_test(NAME pystring_test COMMAND pystring_test) ++endif() ++ ++# install and cmake configs ====== ++ ++include(GNUInstallDirs) ++install(TARGETS pystring ++ EXPORT "${EXPORT_NAME}" ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/pystring) ++ ++include(CMakePackageConfigHelpers) ++configure_package_config_file(cmake/pystringConfig.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/pystringConfig.cmake ++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pystring) ++ ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pystringConfig.cmake ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pystring) ++ ++install(EXPORT "${EXPORT_NAME}" ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pystring ++ NAMESPACE "${NAMESPACE}") +diff --git a/cmake/pystringConfig.cmake.in b/cmake/pystringConfig.cmake.in +new file mode 100644 +index 0000000..82e3995 +--- /dev/null ++++ b/cmake/pystringConfig.cmake.in +@@ -0,0 +1,4 @@ ++@PACKAGE_INIT@ ++ ++include("${CMAKE_CURRENT_LIST_DIR}/@EXPORT_NAME@.cmake") ++check_required_components("@PROJECT_NAME@") diff --git a/dev-cpp/pystring/pystring-1.1.3.ebuild b/dev-cpp/pystring/pystring-1.1.3-r1.ebuild index 65cd43ca763f..808484d4a233 100644 --- a/dev-cpp/pystring/pystring-1.1.3.ebuild +++ b/dev-cpp/pystring/pystring-1.1.3-r1.ebuild @@ -3,6 +3,8 @@ EAPI=7 +inherit cmake + DESCRIPTION="C++ functions matching the interface and behavior of python string methods" HOMEPAGE="https://github.com/imageworks/pystring" @@ -23,16 +25,8 @@ RESTRICT="mirror" LICENSE="BSD" SLOT="0" -src_compile() { - sed -i -e "s|-O3|${CXXFLAGS}|g" Makefile || die - emake LIBDIR="${S}" install - - # Fix header location - mkdir ${S}/pystring || die - mv ${S}/pystring.h ${S}/pystring || die -} - -src_install() { - dolib.so ${S}/libpystring.so{,.0{,.0.0}} - doheader -r ${S}/pystring -} +PATCHES=( + # Patch to convert the project into cmake. Taken from: + # https://github.com/imageworks/pystring/pull/29 + "${FILESDIR}/cmake.patch" +) |