commit:     4bd77501316579bed6f4d6d744f093c39c41d35d
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Tue Aug 19 17:02:04 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep  6 14:35:59 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4bd77501

media-gfx/valentina: add 1.0.0

release with qbs as build system

precompiled headers is disable because it fails with clang
test needs still workarounds to be unrestricted

Closes: https://bugs.gentoo.org/955967
Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/43499
Closes: https://github.com/gentoo/gentoo/pull/43499
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-gfx/valentina/Manifest                       |   1 +
 .../files/valentina-1.0.0-fix_desktop.patch        |  37 +++++++
 media-gfx/valentina/valentina-1.0.0.ebuild         | 122 +++++++++++++++++++++
 3 files changed, 160 insertions(+)

diff --git a/media-gfx/valentina/Manifest b/media-gfx/valentina/Manifest
index 7dc50f499cef..44699c2d6d80 100644
--- a/media-gfx/valentina/Manifest
+++ b/media-gfx/valentina/Manifest
@@ -1 +1,2 @@
 DIST valentina-v0.7.52.tar.bz2 30819274 BLAKE2B 
3b9b2ac2c4083371420dca4911bf5162d9d772ddf0a8b4582dac7ca47e6f027279a99bd3d674a7f0ce15e962cdf1afbdb573f8a14a5f6c02baae1f7a5aae37a1
 SHA512 
71ff3dc4ccea2ee3df34fda0364b211a80d4f953e6d3b9bf9b40ba1f4d1531e751d077983e8d13acb1f524c9883d2f565289d1b67d5de0a152c9a4df1428d6df
+DIST valentina-v1.0.0.tar.bz2 62003405 BLAKE2B 
a77b4b5dbccc2f50df97f922cdebd3d2f7b03b577858c70d6f2b3949a2195e920485e2d84ec1dfc18a678b8ab1638587721b784760acc06a36608ff2cf538cba
 SHA512 
dae28c6505dad4e80a99f057fe400ba064107d88919920c01bb3e95e6d0f10c6fb5d886b68964f4a849ab9f60ec9f0466ae89030ae09b5bd3a1c5cb3bbaae129

diff --git a/media-gfx/valentina/files/valentina-1.0.0-fix_desktop.patch 
b/media-gfx/valentina/files/valentina-1.0.0-fix_desktop.patch
new file mode 100644
index 000000000000..fa963a8d156d
--- /dev/null
+++ b/media-gfx/valentina/files/valentina-1.0.0-fix_desktop.patch
@@ -0,0 +1,37 @@
+Avoid a warning at launch
+> WARNING:QGuiApplication::setDesktopFileName: the specified desktop file name 
ends with .desktop.
+> For compatibility reasons, the .desktop suffix will be removed.
+> Please specify a desktop file name without .desktop suffix
+--- a/src/app/puzzle/main.cpp
++++ b/src/app/puzzle/main.cpp
+@@ -120,7 +120,7 @@ auto main(int argc, char *argv[]) -> int
+ 
+     QT_REQUIRE_VERSION(argc, argv, "5.15.0") // 
clazy:exclude=qstring-arg,qstring-allocations NOLINT
+ 
+-    
VPApplication::setDesktopFileName(QStringLiteral("ua.com.smart-pattern.puzzle.desktop"));
++    
VPApplication::setDesktopFileName(QStringLiteral("ua.com.smart-pattern.puzzle"));
+ 
+     QTimer::singleShot(0, &app, &VPApplication::ProcessCMD);
+ 
+--- a/src/app/tape/main.cpp
++++ b/src/app/tape/main.cpp
+@@ -119,7 +119,7 @@ auto main(int argc, char *argv[]) -> int
+ 
+     QT_REQUIRE_VERSION(argc, argv, "5.15.0"); // 
clazy:exclude=qstring-arg,qstring-allocations NOLINT
+ 
+-    
MApplication::setDesktopFileName(QStringLiteral("ua.com.smart-pattern.tape.desktop"));
++    
MApplication::setDesktopFileName(QStringLiteral("ua.com.smart-pattern.tape"));
+ 
+     QTimer::singleShot(0, &app, &MApplication::ProcessCMD);
+ 
+--- a/src/app/valentina/main.cpp
++++ b/src/app/valentina/main.cpp
+@@ -132,7 +132,7 @@ auto main(int argc, char *argv[]) -> int
+ 
+     QT_REQUIRE_VERSION(argc, argv, "5.15.0") // 
clazy:exclude=qstring-arg,qstring-allocations NOLINT
+ 
+-    
VApplication::setDesktopFileName(QStringLiteral("ua.com.smart-pattern.valentina.desktop"));
++    
VApplication::setDesktopFileName(QStringLiteral("ua.com.smart-pattern.valentina"));
+ 
+     MainWindow w;
+ #if !defined(Q_OS_MAC)

diff --git a/media-gfx/valentina/valentina-1.0.0.ebuild 
b/media-gfx/valentina/valentina-1.0.0.ebuild
new file mode 100644
index 000000000000..bcdaf8ac5e52
--- /dev/null
+++ b/media-gfx/valentina/valentina-1.0.0.ebuild
@@ -0,0 +1,122 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo flag-o-matic multiprocessing qmake-utils toolchain-funcs xdg
+
+DESCRIPTION="Cloth patternmaking software"
+HOMEPAGE="https://smart-pattern.com.ua/";
+SRC_URI="https://gitlab.com/smart-pattern/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.bz2";
+S="${WORKDIR}/${PN}-v${PV}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="test"
+
+DEPEND="
+       dev-libs/xerces-c:=
+       dev-qt/qtbase:6[concurrent,gui,network,opengl,ssl,widgets,xml]
+       dev-qt/qtsvg:6
+       !sci-biology/tree-puzzle
+"
+RDEPEND="${DEPEND}
+       app-text/poppler[utils]
+"
+BDEPEND="
+       dev-build/meson-format-array
+       dev-qt/qttools:6[linguist]
+       dev-util/qbs
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.0.0-fix_desktop.patch
+)
+
+qbs_format_flags() {
+       meson-format-array "${@}" || die
+}
+
+qbs_config() {
+       debug-print-function ${FUNCNAME} "${@}"
+
+       (( $# == 2 )) || \
+               die "${FUNCNAME} takes exactly two arguments"
+
+       local key=${1}
+       local value=${2}
+
+       edo qbs config "profiles.gentoo.${key}" "${value}"
+}
+
+src_configure() {
+       # setup the toolchain in a profile 'mytoolchain'
+       edo qbs setup-toolchains $(tc-getCC) mytoolchain
+
+       # create a profile 'gentoo' with 'mytoolchain' inherited
+       edo qbs setup-qt "$(qt6_get_bindir)"/qmake gentoo
+       qbs_config baseProfile mytoolchain
+
+       # define paths for toolchain
+       qbs_config archiverPath "$(tc-getAR)"
+       qbs_config assemblerPath "$(tc-getAS)"
+       qbs_config linkerPath "$(tc-getCC)"
+       qbs_config nmPath "$(tc-getNM)"
+       qbs_config objcopyPath "$(tc-getOBJCOPY)"
+       qbs_config stripPath "$(tc-getSTRIP)"
+
+       # define global options
+       qbs_config preferences.jobs "$(get_makeopts_jobs)"
+       qbs_config qbs.installPrefix "${EPREFIX}/usr"
+       qbs_config qbs.installRoot "${D}"
+
+       # define system flags
+       qbs_config cpp.cppFlags "$(qbs_format_flags ${CPPFLAGS})"
+       qbs_config cpp.cxxFlags "$(qbs_format_flags ${CXXFLAGS})"
+       qbs_config cpp.linkerFlags "$(qbs_format_flags $(raw-ldflags))"
+       qbs_config qbs.optimization ""
+
+       # define package options
+       qbs_config buildconfig.enableCcache false
+       qbs_config buildconfig.enablePCH false # fail w/ clang
+       qbs_config buildconfig.enableUnitTests $(usex test true false)
+       qbs_config buildconfig.enableRPath false
+       qbs_config buildconfig.installLibraryPath "$(get_libdir)"
+       qbs_config buildconfig.libDirName "$(get_libdir)"
+       qbs_config buildconfig.treatWarningsAsErrors false
+
+       # used by all phases
+       qbsargs=(
+               --file ${PN}.qbs
+               config:release
+               profile:gentoo
+       )
+
+       edo qbs resolve "${qbsargs[@]}" --force-probe-execution
+
+       # verbose build/install phase
+       qbsargs+=(
+               --command-echo-mode command-line
+       )
+}
+
+src_compile() {
+       edo qbs build "${qbsargs[@]}" --no-install
+}
+
+src_test() {
+       # It fails in the build env. Only parserTest passes if launched 
manually.
+       edo qbs -p autotest-runner profile:gentoo config:release
+}
+
+src_install() {
+       edo qbs install "${qbsargs[@]}" --no-build
+
+       dodoc AUTHORS.txt ChangeLog.txt README.md
+
+       doman dist/debian/${PN}.1
+       doman dist/debian/puzzle.1
+       doman dist/debian/tape.1
+}

Reply via email to