diff --git a/media-gfx/valentina/Manifest b/media-gfx/valentina/Manifest index 4b811516e54b0..b0b11fb4c464b 100644 --- a/media-gfx/valentina/Manifest +++ b/media-gfx/valentina/Manifest @@ -1 +1,2 @@ DIST valentina-v1.0.4.tar.bz2 64512148 BLAKE2B 09d22dab3a827b411e119e42609a4e0254ade6b8a91e09aebb0b905578e361b1322f5fab3831ca99494081533dc48cfb3105505f0b5a5ddc817283ecbecaaeb4 SHA512 8a0ab9aa77cea1d019673f42c979121bf20df68221d05f73043012f252e656e2edfd78b00de0d98f32fa232ab9f90ad34a097e522cb548bd46e54e35730a3cf9 +DIST valentina-v1.1.0.tar.bz2 65301814 BLAKE2B 3d9f42dd8674d6c9d98e968a0ba5ae275fb8e222c0dfacc169d4a6ea0e39c1a2538a2872c728df400aac25b1bb10f22fd7c771ca9a17215d8e94df18a1a8668c SHA512 af776d993690107545f9f57ea17a3e451f066e19ef01ff0cd6ad1d94b0370afb8f9a1911dc8540f6216e65fa7e93a8f05fff91c47d1343a9bdaf446f56506965 diff --git a/media-gfx/valentina/valentina-1.1.0.ebuild b/media-gfx/valentina/valentina-1.1.0.ebuild new file mode 100644 index 0000000000000..5d0dab57c51bd --- /dev/null +++ b/media-gfx/valentina/valentina-1.1.0.ebuild @@ -0,0 +1,134 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo flag-o-matic multiprocessing optfeature 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? ( 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}" +BDEPEND=" + dev-build/meson-format-array + dev-qt/qttools:6[linguist] + dev-util/qbs +" + +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 qbs.installPrefix "${EPREFIX}/usr" + qbs_config qbs.sysroot "${ESYSROOT}" + + # 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 + local my_opts=( + enableCcache:false + enablePCH:false + enableUnitTests:$(usex test true false) + enableRPath:false + installLibraryPath:"$(get_libdir)" + libDirName:"$(get_libdir)" + treatWarningsAsErrors:false + ) + + # used by all phases + qbsargs=( + --file ${PN}.qbs + config:release + profile:gentoo + ${my_opts[@]/#/modules.buildconfig.} + ) + + # export now for src_test + local -x LD_LIBRARY_PATH+=":${S}/release/install-root${EPREFIX}/usr/$(get_libdir)/" + local -x QT_QPA_PLATFORM=offscreen + + edo qbs resolve "${qbsargs[@]}" --force-probe-execution + + # verbose build/install phase + qbsargs+=( + --command-echo-mode command-line + ) +} + +src_compile() { + edo qbs build "${qbsargs[@]}" --jobs $(get_makeopts_jobs) --no-install +} + +src_test() { + edo qbs -p autotest-runner profile:gentoo config:release +} + +src_install() { + edo qbs install "${qbsargs[@]}" --no-build --install-root "${D}" + + if use test; then + rm "${ED}"/usr/bin/*Test.debug || die + fi + + insinto /usr/share/${PN} + doins -r "${S}"/src/app/share/{collection,tables} + + dodoc AUTHORS.txt ChangeLog.txt README.md + + doman dist/debian/${PN}.1 + doman dist/debian/puzzle.1 + doman dist/debian/tape.1 +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature "PDF to PS conversion" app-text/poppler[utils] +}