commit:     4113a87ea3e6bab3ffbe53abad72c80894cf0bc1
Author:     Huang Rui <vowstar <AT> gmail <DOT> com>
AuthorDate: Sat Feb 17 15:41:32 2024 +0000
Commit:     Rui Huang <vowstar <AT> gmail <DOT> com>
CommitDate: Sat Feb 17 15:42:40 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=4113a87e

dev-libs/qschematic: add 1.5.1

Signed-off-by: Huang Rui <vowstar <AT> gmail.com>

 dev-libs/qschematic/Manifest                       |   1 +
 .../qschematic-1.5.1-gentoo-cmake-option.patch     | 114 +++++++++++++++++++++
 dev-libs/qschematic/qschematic-1.5.1.ebuild        |  68 ++++++++++++
 3 files changed, 183 insertions(+)

diff --git a/dev-libs/qschematic/Manifest b/dev-libs/qschematic/Manifest
index 97fbdad4b5..5d853e34f4 100644
--- a/dev-libs/qschematic/Manifest
+++ b/dev-libs/qschematic/Manifest
@@ -1 +1,2 @@
 DIST qschematic-1.5.0.tar.gz 1509508 BLAKE2B 
b2850e0b31e1d44f750488b94d47beaf606981d77bfbb070b44beb235c531bf190d1e3edcafb214737dc376d74d5e08405a8b3844c9746f9dce9731484685ca8
 SHA512 
a5ad0a5068c0bed1307c89134814c68192e4af19067d221d27086585f93360307a1293ee7c63021b21c0348f3859a18d6dcd50b3e2e0fe19fd32bf4928942cd4
+DIST qschematic-1.5.1.tar.gz 1510872 BLAKE2B 
4ecf1200f4aa8052aa1ded75f6247b2db4db8a85383b04bc4c7cec495d5d2b3d4b93d96c6fcbdf370d5470be6e7e00c032ba26d0e9d5b1ac491c78286d25b55c
 SHA512 
4b748397e83369764f3f1df49701ffe3dccb18713c0e2f55c1110b31c294f0205da10c06fd56ca0011e3f8f5a0a9970149ed84a586d6edd4febe18170d89723d

diff --git 
a/dev-libs/qschematic/files/qschematic-1.5.1-gentoo-cmake-option.patch 
b/dev-libs/qschematic/files/qschematic-1.5.1-gentoo-cmake-option.patch
new file mode 100644
index 0000000000..c72136aed6
--- /dev/null
+++ b/dev-libs/qschematic/files/qschematic-1.5.1-gentoo-cmake-option.patch
@@ -0,0 +1,114 @@
+From ea877503228e0ce17451354d47ac151cbd94dcf5 Mon Sep 17 00:00:00 2001
+From: Huang Rui <vows...@gmail.com>
+Date: Sat, 17 Feb 2024 23:30:42 +0800
+Subject: [PATCH] fix gentoo build with qt6
+
+Signed-off-by: Huang Rui <vows...@gmail.com>
+---
+ CMakeLists.txt                        | 1 +
+ demo/CMakeLists.txt                   | 2 ++
+ qschematic/CMakeLists.txt             | 6 +++---
+ qschematic/external.cmake             | 2 ++
+ qschematic/qschematic-config.cmake.in | 3 +++
+ 5 files changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 926b55adb8ee..7ece589f33f0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -17,6 +17,7 @@ option(QSCHEMATIC_BUILD_STATIC "Whether to build a static 
library" ON)
+ option(QSCHEMATIC_BUILD_SHARED "Whether to build a shared library" 
${OPTION_BUILD_SHARED_DEFAULT})
+ option(QSCHEMATIC_BUILD_DEMO "Whether to build the demo project" ON)
+ option(QSCHEMATIC_DEPENDENCY_GPDS_DOWNLOAD "Whether to pull the GPDS 
dependency via FetchContent" ON)
++option(QSCHEMATIC_BUILD_QT6 "Whether to build with QT6" ON)
+ 
+ # User settings
+ set(QSCHEMATIC_DEPENDENCY_GPDS_TARGET "gpds::gpds-static" CACHE STRING "The 
CMake target of the GPDS library to use")
+diff --git a/demo/CMakeLists.txt b/demo/CMakeLists.txt
+index b077470fe4d3..1f81a9c8ee8b 100644
+--- a/demo/CMakeLists.txt
++++ b/demo/CMakeLists.txt
+@@ -2,11 +2,13 @@
+ include(../qschematic/external.cmake)
+ 
+ # Qt
++if (QSCHEMATIC_BUILD_QT6)
+ find_package(
+     Qt6
+     COMPONENTS
+         PrintSupport
+ )
++endif()
+ if (NOT Qt6_FOUND)
+     find_package(
+         Qt5
+diff --git a/qschematic/CMakeLists.txt b/qschematic/CMakeLists.txt
+index 7e80a3a445cc..8368e5742b43 100644
+--- a/qschematic/CMakeLists.txt
++++ b/qschematic/CMakeLists.txt
+@@ -153,7 +153,7 @@ endif()
+ # Static library                                                              
 #
+ 
################################################################################
+ 
+-if (QSCHEMATIC_BUILD_STATIC)
++# if (QSCHEMATIC_BUILD_STATIC)
+     add_library(${TARGET_STATIC} STATIC)
+     setup_target_common(${TARGET_STATIC})
+ 
+@@ -161,8 +161,8 @@ if (QSCHEMATIC_BUILD_STATIC)
+         ${TARGET_STATIC}
+             PUBLIC
+             QSCHEMATIC_STATIC_DEFINE
+-    )
+-endif()
++     )
++# endif()
+ 
+ 
+ 
################################################################################
+diff --git a/qschematic/external.cmake b/qschematic/external.cmake
+index 80aae6c29b94..7e57f0852ac5 100644
+--- a/qschematic/external.cmake
++++ b/qschematic/external.cmake
+@@ -35,6 +35,7 @@ endif()
+ 
########################################################################################################################
+ 
+ # Try to find Qt6
++if (QSCHEMATIC_BUILD_QT6)
+ find_package(
+     Qt6
+     COMPONENTS
+@@ -42,6 +43,7 @@ find_package(
+         Gui
+         Widgets
+ )
++endif()
+ 
+ # If Qt6 was not found, fallback to Qt5
+ # Require minimum Qt 5.15 for versionless cmake targets. This can be relaxed 
down to Qt 5.6 (?) if needed by modifying
+diff --git a/qschematic/qschematic-config.cmake.in 
b/qschematic/qschematic-config.cmake.in
+index 7452408bcd09..5b2a14a4c9c2 100644
+--- a/qschematic/qschematic-config.cmake.in
++++ b/qschematic/qschematic-config.cmake.in
+@@ -6,8 +6,10 @@ include(CMakeFindDependencyMacro)
+ 
+ set(QSCHEMATIC_DEPENDENCY_GPDS_DOWNLOAD @QSCHEMATIC_DEPENDENCY_GPDS_DOWNLOAD@)
+ set(QSCHEMATIC_DEPENDENCY_GPDS_MINIMUM_VERSION 
@QSCHEMATIC_DEPENDENCY_GPDS_MINIMUM_VERSION@)
++set(QSCHEMATIC_BUILD_QT6 @QSCHEMATIC_BUILD_QT6@)
+ 
+ # Qt
++if (QSCHEMATIC_BUILD_QT6)
+ find_dependency(
+     Qt6
+     COMPONENTS
+@@ -15,6 +17,7 @@ find_dependency(
+         Gui
+         Widgets
+ )
++endif()
+ if (NOT Qt6_FOUND)
+     find_dependency(
+         Qt5 5.15
+-- 
+2.43.2
+

diff --git a/dev-libs/qschematic/qschematic-1.5.1.ebuild 
b/dev-libs/qschematic/qschematic-1.5.1.ebuild
new file mode 100644
index 0000000000..2a272258c3
--- /dev/null
+++ b/dev-libs/qschematic/qschematic-1.5.1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+MY_PN="QSchematic"
+
+inherit cmake
+
+DESCRIPTION="Library for creating flowcharts and engineering diagrams"
+HOMEPAGE="https://github.com/simulton/QSchematic";
+
+if [[ "${PV}" == "9999" ]] ; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/simulton/QSchematic/${MY_PN}.git";
+else
+       SRC_URI="https://github.com/simulton/${MY_PN}/archive/${PV}.tar.gz -> 
${P}.tar.gz"
+       KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~riscv ~x86"
+       S="${WORKDIR}/${MY_PN}-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="examples qt6 static-libs test wayland +X"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+       examples? ( static-libs )
+       test? ( static-libs )
+"
+RDEPEND="
+       !qt6? (
+               >=dev-qt/qtcore-5.15:5=
+               >=dev-qt/qtgui-5.15:5=[jpeg,png,wayland?,X?]
+               >=dev-qt/qtsvg-5.15:5
+               >=dev-qt/qtwidgets-5.15:5[png,X?]
+       )
+       qt6? (
+               >=dev-qt/qtbase-6.5:6=[gui,wayland?,widgets,X?]
+               >=dev-qt/qtimageformats-6.5:6
+               >=dev-qt/qtsvg-6.5:6
+       )
+       >=dev-libs/gpds-1.8.1[static-libs?]
+"
+
+DEPEND="
+       ${RDEPEND}
+"
+
+BDEPEND="
+       virtual/pkgconfig
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-1.5.1-gentoo-cmake-option.patch"
+)
+
+src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+               -DQSCHEMATIC_DEPENDENCY_GPDS_TARGET:STRING="gpds::gpds-shared"
+               -DQSCHEMATIC_DEPENDENCY_GPDS_DOWNLOAD=OFF
+               -DQSCHEMATIC_BUILD_DEMO=$(usex examples)
+               -DQSCHEMATIC_BUILD_QT6=$(usex qt6)
+               -DQSCHEMATIC_BUILD_STATIC=$(usex static-libs)
+               -DQSCHEMATIC_BUILD_SHARED=ON
+       )
+
+       cmake_src_configure
+}

Reply via email to