commit:     485a29faa397ba206d18523268b54311b1063fe2
Author:     Huang Rui <vowstar <AT> gmail <DOT> com>
AuthorDate: Mon Feb 19 02:40:01 2024 +0000
Commit:     Rui Huang <vowstar <AT> gmail <DOT> com>
CommitDate: Mon Feb 19 02:40:01 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=485a29fa

dev-libs/qschematic: add 1.6.0

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

 dev-libs/qschematic/Manifest                       |  1 +
 .../qschematic-1.6.0-gentoo-cmake-option.patch     | 90 ++++++++++++++++++++++
 dev-libs/qschematic/qschematic-1.6.0.ebuild        | 68 ++++++++++++++++
 3 files changed, 159 insertions(+)

diff --git a/dev-libs/qschematic/Manifest b/dev-libs/qschematic/Manifest
index a69882c1f9..36408d6a5f 100644
--- a/dev-libs/qschematic/Manifest
+++ b/dev-libs/qschematic/Manifest
@@ -1 +1,2 @@
 DIST qschematic-1.5.1.tar.gz 1510872 BLAKE2B 
4ecf1200f4aa8052aa1ded75f6247b2db4db8a85383b04bc4c7cec495d5d2b3d4b93d96c6fcbdf370d5470be6e7e00c032ba26d0e9d5b1ac491c78286d25b55c
 SHA512 
4b748397e83369764f3f1df49701ffe3dccb18713c0e2f55c1110b31c294f0205da10c06fd56ca0011e3f8f5a0a9970149ed84a586d6edd4febe18170d89723d
+DIST qschematic-1.6.0.tar.gz 1511024 BLAKE2B 
ac2866773a27526d1449a56ed41177b9337599cd37aa7d2deda5b1136fb50ab82d1b3bf032d0e04c33e209b9eb6ad7a400aad46c61c8c4ec09473da49306cab2
 SHA512 
977a13e1bf1d3a517d6b75236667abc0ca463910e06d1c1f0071d134c95d95897582aafbc1fa560f69137e536e626d7025393b5a0f48b462380ded6a658dd0f4

diff --git 
a/dev-libs/qschematic/files/qschematic-1.6.0-gentoo-cmake-option.patch 
b/dev-libs/qschematic/files/qschematic-1.6.0-gentoo-cmake-option.patch
new file mode 100644
index 0000000000..0d59da0bd5
--- /dev/null
+++ b/dev-libs/qschematic/files/qschematic-1.6.0-gentoo-cmake-option.patch
@@ -0,0 +1,90 @@
+From ea877503228e0ce17451354d47ac151cbd94dcf5 Mon Sep 17 00:00:00 2001
+From: Huang Rui <[email protected]>
+Date: Sat, 17 Feb 2024 23:30:42 +0800
+Subject: [PATCH] fix gentoo build with qt6
+
+Signed-off-by: Huang Rui <[email protected]>
+---
+ 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/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.6.0.ebuild 
b/dev-libs/qschematic/qschematic-1.6.0.ebuild
new file mode 100644
index 0000000000..ae4904fca0
--- /dev/null
+++ b/dev-libs/qschematic/qschematic-1.6.0.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.6.0-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