From 91773fd1eb57d4c080c0151f5899f1631ddf2aac Mon Sep 17 00:00:00 2001 From: Sebastian Parborg Date: Sat, 12 Jun 2021 14:00:18 +0200 Subject: 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 Closes: https://github.com/gentoo/gentoo/pull/21209 Signed-off-by: Sam James --- dev-cpp/pystring/files/cmake.patch | 84 +++++++++++++++++++++++++++++++ dev-cpp/pystring/pystring-1.1.3-r1.ebuild | 32 ++++++++++++ dev-cpp/pystring/pystring-1.1.3.ebuild | 38 -------------- 3 files changed, 116 insertions(+), 38 deletions(-) create mode 100644 dev-cpp/pystring/files/cmake.patch create mode 100644 dev-cpp/pystring/pystring-1.1.3-r1.ebuild delete mode 100644 dev-cpp/pystring/pystring-1.1.3.ebuild (limited to 'dev-cpp/pystring') 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 +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-r1.ebuild b/dev-cpp/pystring/pystring-1.1.3-r1.ebuild new file mode 100644 index 000000000000..808484d4a233 --- /dev/null +++ b/dev-cpp/pystring/pystring-1.1.3-r1.ebuild @@ -0,0 +1,32 @@ +# Copyright 2020-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="C++ functions matching the interface and behavior of python string methods" +HOMEPAGE="https://github.com/imageworks/pystring" + +if [[ "${PV}" == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/imageworks/pystring.git" +else + SRC_URI="https://github.com/imageworks/pystring/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +BDEPEND=" + virtual/libc + sys-devel/libtool +" +RESTRICT="mirror" + +LICENSE="BSD" +SLOT="0" + +PATCHES=( + # Patch to convert the project into cmake. Taken from: + # https://github.com/imageworks/pystring/pull/29 + "${FILESDIR}/cmake.patch" +) diff --git a/dev-cpp/pystring/pystring-1.1.3.ebuild b/dev-cpp/pystring/pystring-1.1.3.ebuild deleted file mode 100644 index 65cd43ca763f..000000000000 --- a/dev-cpp/pystring/pystring-1.1.3.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 2020-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="C++ functions matching the interface and behavior of python string methods" -HOMEPAGE="https://github.com/imageworks/pystring" - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/imageworks/pystring.git" -else - SRC_URI="https://github.com/imageworks/pystring/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" -fi - -BDEPEND=" - virtual/libc - sys-devel/libtool -" -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 -} -- cgit v1.2.3