commit:     91773fd1eb57d4c080c0151f5899f1631ddf2aac
Author:     Sebastian Parborg <darkdefende <AT> gmail <DOT> com>
AuthorDate: Sat Jun 12 12:00:18 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 12 12:54:54 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91773fd1

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 <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/21209
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-cpp/pystring/files/cmake.patch                 | 84 ++++++++++++++++++++++
 ...tring-1.1.3.ebuild => pystring-1.1.3-r1.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 00000000000..bd4e01e6658
--- /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 <[email protected]>
+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}/@[email protected]")
++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
similarity index 67%
rename from dev-cpp/pystring/pystring-1.1.3.ebuild
rename to dev-cpp/pystring/pystring-1.1.3-r1.ebuild
index 65cd43ca763..808484d4a23 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"
+)

Reply via email to