dev-libs/qschematic: add 1.6.0

Signed-off-by: Huang Rui <vowstar@gmail.com>
This commit is contained in:
Huang Rui
2024-02-19 10:40:01 +08:00
parent 8ea51fbd87
commit 485a29faa3
3 changed files with 159 additions and 0 deletions

View File

@@ -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

View File

@@ -0,0 +1,90 @@
From ea877503228e0ce17451354d47ac151cbd94dcf5 Mon Sep 17 00:00:00 2001
From: Huang Rui <vowstar@gmail.com>
Date: Sat, 17 Feb 2024 23:30:42 +0800
Subject: [PATCH] fix gentoo build with qt6
Signed-off-by: Huang Rui <vowstar@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/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

View File

@@ -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
}