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