diff options
-rw-r--r-- | dev-cpp/cppgir/Manifest | 1 | ||||
-rw-r--r-- | dev-cpp/cppgir/cppgir-0_p20230606.ebuild | 43 | ||||
-rw-r--r-- | dev-cpp/cppgir/files/cppgir-0_p20230606-fix-install-paths.patch | 13 | ||||
-rw-r--r-- | dev-cpp/cppgir/files/cppgir-0_p20230606-prevent-automagic.patch | 42 | ||||
-rw-r--r-- | dev-cpp/cppgir/files/cppgir-0_p20230606-system-expected-lite.patch | 37 | ||||
-rw-r--r-- | dev-cpp/cppgir/metadata.xml | 16 |
6 files changed, 152 insertions, 0 deletions
diff --git a/dev-cpp/cppgir/Manifest b/dev-cpp/cppgir/Manifest new file mode 100644 index 000000000000..74cef3ae99ab --- /dev/null +++ b/dev-cpp/cppgir/Manifest @@ -0,0 +1 @@ +DIST cppgir-0_p20230606.tar.bz2 92576 BLAKE2B 47d43405eee8cebb782a3021e8398ce61ced23094424ced9f1bfaf390bfd83b7fa6e6fe5e0689886857cef3c992f9318de99d9e38362c2777a409cf597b55f7a SHA512 832c99379b0203db9b2cfefa530fc8f68411da5b0f121a37ab1b60dfa39e929a0d95971c4161a744dc5b3ddbb92848f1bbce9b265f9d4d5724084c08ab8fd4f4 diff --git a/dev-cpp/cppgir/cppgir-0_p20230606.ebuild b/dev-cpp/cppgir/cppgir-0_p20230606.ebuild new file mode 100644 index 000000000000..14ebc607d6c0 --- /dev/null +++ b/dev-cpp/cppgir/cppgir-0_p20230606.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="GObject-Introspection C++ binding wrapper generator" +HOMEPAGE="https://gitlab.com/mnauw/cppgir" + +MY_PV="960fe054ffaab7cf55722fea6094c56a8ee8f18e" +SRC_URI="https://gitlab.com/mnauw/cppgir/-/archive/${MY_PV}/cppgir-${MY_PV}.tar.bz2 -> ${P}.tar.bz2" +S="${WORKDIR}/${PN}-${MY_PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc test" +RESTRICT="!test? ( test )" + +DEPEND=" + dev-cpp/expected-lite + dev-libs/boost:= + dev-libs/libfmt:= +" +BDEPEND=" + doc? ( app-text/ronn-ng ) +" + +PATCHES=( + "${FILESDIR}/cppgir-0_p20230606-system-expected-lite.patch" + "${FILESDIR}/cppgir-0_p20230606-fix-install-paths.patch" + "${FILESDIR}/cppgir-0_p20230606-prevent-automagic.patch" +) + +src_configure() { + local mycmakeargs=( + -DBUILD_DOC=$(usex doc) + -DBUILD_TESTING=$(usex test) + ) + + cmake_src_configure +} diff --git a/dev-cpp/cppgir/files/cppgir-0_p20230606-fix-install-paths.patch b/dev-cpp/cppgir/files/cppgir-0_p20230606-fix-install-paths.patch new file mode 100644 index 000000000000..c27d1e9f29b0 --- /dev/null +++ b/dev-cpp/cppgir/files/cppgir-0_p20230606-fix-install-paths.patch @@ -0,0 +1,13 @@ +Install cmake targets in correct directory + +--- cppgir-960fe054ffaab7cf55722fea6094c56a8ee8f18e.orig/CMakeLists.txt ++++ cppgir-960fe054ffaab7cf55722fea6094c56a8ee8f18e/CMakeLists.txt +@@ -259,7 +259,7 @@ + DESTINATION ${GI_IGNORE_FILE_INSTALL_DIR}) + + # cmake EXPORTS +-set(CONFIG_PACKAGE_LOCATION lib/cmake/${PROJECT_NAME}) ++set(CONFIG_PACKAGE_LOCATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) + set(CONFIG_VERSION_NAME ${PROJECT_NAME}-config-version.cmake) + set(CONFIG_TARGETS_NAME ${PROJECT_NAME}-targets.cmake) + set(CONFIG_NAME ${PROJECT_NAME}-config.cmake) diff --git a/dev-cpp/cppgir/files/cppgir-0_p20230606-prevent-automagic.patch b/dev-cpp/cppgir/files/cppgir-0_p20230606-prevent-automagic.patch new file mode 100644 index 000000000000..8bb3ab5c4496 --- /dev/null +++ b/dev-cpp/cppgir/files/cppgir-0_p20230606-prevent-automagic.patch @@ -0,0 +1,42 @@ +Remove checks for libraries that are completely unnecessary + +--- cppgir-960fe054ffaab7cf55722fea6094c56a8ee8f18e.orig/CMakeLists.txt ++++ cppgir-960fe054ffaab7cf55722fea6094c56a8ee8f18e/CMakeLists.txt +@@ -79,15 +79,14 @@ + find_package(expected-lite REQUIRED) + target_link_libraries(gi PUBLIC expected-lite) + +-include(FindPkgConfig) +-pkg_check_modules(GOBJECT gobject-2.0) +-pkg_check_modules(GIO gio-2.0 gio-unix-2.0) +-pkg_check_modules(GST gstreamer-1.0) +-pkg_check_modules(GTK gtk+-3.0) ++if (BUILD_TESTING) ++ include(FindPkgConfig REQUIRED) ++ pkg_check_modules(GOBJECT gobject-2.0 REQUIRED) ++endif() + + ## TEST ## + +-if (BUILD_TESTING AND GOBJECT_FOUND) ++if (BUILD_TESTING) + add_executable(gi-test test/main.cpp + test/test_object.c test/test_object.h test/test_boxed.c test/test_boxed.h) + target_include_directories(gi-test PRIVATE "gi" "override") +@@ -113,7 +112,7 @@ + set(EXAMPLE_TARGETS "") + set(EXAMPLE_NS "") + +-if (GOBJECT_FOUND) ++if (FALSE) + add_executable(example-gobject EXCLUDE_FROM_ALL examples/gobject.cpp) + target_compile_options(example-gobject PRIVATE ${GOBJECT_CFLAGS}) + target_link_libraries(example-gobject PRIVATE ${GOBJECT_LDFLAGS}) +@@ -179,7 +178,6 @@ + endif () + + # optional Qt example +-find_package(Qt5Core 5.9) + if (Qt5Core_FOUND AND GIO_FOUND) + set(CMAKE_INCLUDE_CURRENT_DIR ON) + add_executable(example-gio-qt-async EXCLUDE_FROM_ALL examples/gio-qt-async.cpp) diff --git a/dev-cpp/cppgir/files/cppgir-0_p20230606-system-expected-lite.patch b/dev-cpp/cppgir/files/cppgir-0_p20230606-system-expected-lite.patch new file mode 100644 index 000000000000..096ed39dc03b --- /dev/null +++ b/dev-cpp/cppgir/files/cppgir-0_p20230606-system-expected-lite.patch @@ -0,0 +1,37 @@ +Use system-wide copy of expected-lite + +--- cppgir-960fe054ffaab7cf55722fea6094c56a8ee8f18e.orig/CMakeLists.txt ++++ cppgir-960fe054ffaab7cf55722fea6094c56a8ee8f18e/CMakeLists.txt +@@ -76,14 +76,8 @@ + "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/override>" + ) + +-set(EXPECTED_LITE_INCLUDE "expected-lite/include") +-if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/${EXPECTED_LITE_INCLUDE}/nonstd/expected.hpp) +- target_include_directories(gi INTERFACE +- "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/${EXPECTED_LITE_INCLUDE}>" +- ) +-else () +- message (FATAL_ERROR "missing submodule expected-lite") +-endif () ++find_package(expected-lite REQUIRED) ++target_link_libraries(gi INTERFACE nonstd::expected-lite) + + include(FindPkgConfig) + pkg_check_modules(GOBJECT gobject-2.0) +@@ -241,8 +235,6 @@ + # headers + install(DIRECTORY gi override + DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/${PROJECT_NAME}) +-install(DIRECTORY ${EXPECTED_LITE_INCLUDE}/nonstd +- DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/${PROJECT_NAME}/gi) + + # doc + install(FILES README.md docs/cppgir.md +--- cppgir-960fe054ffaab7cf55722fea6094c56a8ee8f18e.orig/cmake/cppgir-config.cmake ++++ cppgir-960fe054ffaab7cf55722fea6094c56a8ee8f18e/cmake/cppgir-config.cmake +@@ -1 +1,4 @@ ++include(CMakeFindDependencyMacro) ++find_dependency(expected-lite) ++ + include("${CMAKE_CURRENT_LIST_DIR}/cppgir-targets.cmake") diff --git a/dev-cpp/cppgir/metadata.xml b/dev-cpp/cppgir/metadata.xml new file mode 100644 index 000000000000..8337d9d2c2da --- /dev/null +++ b/dev-cpp/cppgir/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>esteve.varela@gmail.com</email> + <name>Esteve Varela Colominas</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="gitlab">mnauw/cppgir</remote-id> + <bugs-to>https://gitlab.com/mnauw/cppgir/-/issues</bugs-to> + </upstream> +</pkgmetadata> |