From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1705405-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 48F7F15812D
	for <garchives@archives.gentoo.org>; Fri, 03 Jan 2025 22:08:41 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 4A797E07B2;
	Fri, 03 Jan 2025 22:08:40 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 27CACE07B2
	for <gentoo-commits@lists.gentoo.org>; Fri, 03 Jan 2025 22:08:40 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id EE79D33BDFF
	for <gentoo-commits@lists.gentoo.org>; Fri, 03 Jan 2025 22:08:38 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 03C6C1946
	for <gentoo-commits@lists.gentoo.org>; Fri, 03 Jan 2025 22:08:37 +0000 (UTC)
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" <sam@gentoo.org>
Message-ID: <1735942068.34f5329184f922617c7f0ecfad261a5e40e9cbbd.sam@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/openscad/
X-VCS-Repository: repo/gentoo
X-VCS-Files: media-gfx/openscad/Manifest media-gfx/openscad/openscad-2024.12.30_pre.ebuild media-gfx/openscad/openscad-9999.ebuild
X-VCS-Directories: media-gfx/openscad/
X-VCS-Committer: sam
X-VCS-Committer-Name: Sam James
X-VCS-Revision: 34f5329184f922617c7f0ecfad261a5e40e9cbbd
X-VCS-Branch: master
Date: Fri, 03 Jan 2025 22:08:37 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: cee2ffac-dbaf-4385-97ba-b522dc755b66
X-Archives-Hash: ff9eb9adbc133060f5803acf4e9d261c

commit:     34f5329184f922617c7f0ecfad261a5e40e9cbbd
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Fri Jan  3 19:36:40 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jan  3 22:07:48 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34f53291

media-gfx/openscad: add 2024.12.30_pre

Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/39967
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-gfx/openscad/Manifest                        |  2 +
 ...-9999.ebuild => openscad-2024.12.30_pre.ebuild} | 73 ++++++++++++++++------
 media-gfx/openscad/openscad-9999.ebuild            | 73 ++++++++++++++++------
 3 files changed, 110 insertions(+), 38 deletions(-)

diff --git a/media-gfx/openscad/Manifest b/media-gfx/openscad/Manifest
index c20624a8c4dc..03d32353cffc 100644
--- a/media-gfx/openscad/Manifest
+++ b/media-gfx/openscad/Manifest
@@ -1,4 +1,6 @@
 DIST openscad-2021.01.tar.gz 15817555 BLAKE2B 417857d704fa3c14312641ebda983eb85a1e3bc0d517a235fa3bd2523fce6f93c1ea526c330179bc35f03e6c73d3cd7c4c57cd71480088c21bfc99bb020ab7cd SHA512 8deaa26bf4c295c12da38f323d2b2e6f827851337f5bc1cc9c79afc083c9f913c19a263086e6e853bf2c8434c1ccc705ea22ddb02dc99d39bb1e5e03fc58d128
+DIST openscad-2024.12.30_pre.tar.gz 25338952 BLAKE2B 41baa7f5df30e46611a2ef59dc0aa05ccb85644dddfb979224b5b026f1b9338285eecd50e2078543163621c89fbc81e97b7593b641a223b48ca02029962f8076 SHA512 e63ac792c16852c1bbdf06a3cb044b453e05c20a95158adddbc09239bcf228fd113a6e33f83d5580e615ecab3cdab8436da9e21d2ab3c3f8846f66219218713b
 DIST openscad-20241114.tar.gz 25288312 BLAKE2B 0c1a9b4b15c12f4b3b600e81cdb5eeddb34887c83e2ae67735d7221b6660730dc5e7f97f80b84d187772adfa20d15e20f0cded1b4937e26305434847bbf2af27 SHA512 6c66c09e4b72ec5ef200d077b58fcb7a5a9acd359551a5daebdc3e24cb2cb7ed7d607b04e5563ea6f14d9d929310c3a9194ac889f2530c2c933235271040981a
 DIST openscad-MCAD-bd0a7ba3f042bfbced5ca1894b236cea08904e26.tar.gz 58895 BLAKE2B e154a38e1c36873a34f7c80b8fa484e4bbcb1b0c217e15b977e6cedc9a83fd2e1518791f9a58a4f0e893c2a55947d7eaddb660d8b725eca048c30f0ea41cf14a SHA512 c6208a90f6a58ebdc0477d3e1b6be2f52e4ce976ac619a87818437cb9696b7e83285564fde757d32efaf50033d5217b55f67b6ce342250de838dd09fef334f36
+DIST sanitizers-cmake-0573e2ea8651b9bb3083f193c41eb086497cc80a.tar.gz 7495 BLAKE2B 57efaac8861755fd7fe3a9c9db2a68f775169ef82b91fbcf44da375540dce7673f319908c0d1a8ac324584bc217f9e2a1e27d6f935fe84f1f640049324ea3b24 SHA512 80d1c471492a771b12291e36cc7523e65c8f9add5b14643c9554156bbcc3e1753772054998306c3f89d33b7f5c9969e89670e16428a72040033b41329c9cb71b
 DIST sanitizers-cmake-3f0542e4e034aab417c51b2b22c94f83355dee15.tar.gz 7451 BLAKE2B 2ca72e3ecda02d4f0eed05be0954af02706425e94626d5a4b9d897968e35c341413171e2388ece7e83dad9eb7b5e2c2f73811ea8db8fa33b0bce6d5dd53550b7 SHA512 10cd4eeb3bbb7bf5c6f5cf8b5bc6a531b1ec8bdc147583d8de028a3e4b8b9d0e258aad81f02135267ce8f7d87b30999dedd25b44c0754b5c31e00d8481cd412f

diff --git a/media-gfx/openscad/openscad-9999.ebuild b/media-gfx/openscad/openscad-2024.12.30_pre.ebuild
similarity index 71%
copy from media-gfx/openscad/openscad-9999.ebuild
copy to media-gfx/openscad/openscad-2024.12.30_pre.ebuild
index 338bc1a67d88..0361bac9f047 100644
--- a/media-gfx/openscad/openscad-9999.ebuild
+++ b/media-gfx/openscad/openscad-2024.12.30_pre.ebuild
@@ -3,7 +3,8 @@
 
 EAPI=8
 
-inherit cmake flag-o-matic optfeature virtualx xdg
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake flag-o-matic optfeature python-any-r1 virtualx xdg
 
 DESCRIPTION="The Programmers Solid 3D CAD Modeller"
 HOMEPAGE="https://openscad.org/"
@@ -18,22 +19,26 @@ if [[ ${PV} = *9999* ]] ; then
 		'-OpenCSG'
 	)
 else
-	COMMIT="bc0d078e0361d7dba66723ac31bdb3b650ecff37"
-	SANITIZERS_CMAKE_COMMIT="3f0542e4e034aab417c51b2b22c94f83355dee15"
-	MCAD_COMMIT="bd0a7ba3f042bfbced5ca1894b236cea08904e26"
-
-	SRC_URI="
-		https://github.com/openscad/openscad/archive/${COMMIT}.tar.gz
-			-> ${PN}-20241114.tar.gz
-		https://github.com/arsenm/sanitizers-cmake/archive/${SANITIZERS_CMAKE_COMMIT}.tar.gz
-			-> sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}.tar.gz
-		test? (
-			https://github.com/openscad/MCAD/archive/${MCAD_COMMIT}.tar.gz -> ${PN}-MCAD-${MCAD_COMMIT}.tar.gz
-		)
-	"
-	# doc downloads are not versioned and found at:
-	# https://files.openscad.org/documentation/
-	S="${WORKDIR}/${PN}-${COMMIT}"
+	if [[ ${PV} = *pre* ]] ; then
+		COMMIT="756e080c7e49072d9926cf9ce766def180a0dcae"
+		SANITIZERS_CMAKE_COMMIT="0573e2ea8651b9bb3083f193c41eb086497cc80a"
+		MCAD_COMMIT="bd0a7ba3f042bfbced5ca1894b236cea08904e26"
+
+		SRC_URI="
+			https://github.com/openscad/openscad/archive/${COMMIT}.tar.gz
+				-> ${P}.tar.gz
+			https://github.com/arsenm/sanitizers-cmake/archive/${SANITIZERS_CMAKE_COMMIT}.tar.gz
+				-> sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}.tar.gz
+			test? (
+				https://github.com/openscad/MCAD/archive/${MCAD_COMMIT}.tar.gz -> ${PN}-MCAD-${MCAD_COMMIT}.tar.gz
+			)
+		"
+		# doc downloads are not versioned and found at:
+		# https://files.openscad.org/documentation/
+		S="${WORKDIR}/${PN}-${COMMIT}"
+	else
+		SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.src.tar.gz -> ${P}.tar.gz"
+	fi
 	KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
 fi
 
@@ -74,7 +79,7 @@ RDEPEND="
 	hidapi? ( dev-libs/hidapi )
 	manifold? (
 		dev-cpp/tbb
-		sci-mathematics/manifold
+		>=sci-mathematics/manifold-3.0.1
 	)
 	mimalloc? ( dev-libs/mimalloc:= )
 	pdf? ( x11-libs/cairo )
@@ -90,6 +95,13 @@ BDEPEND="
 	dev-util/itstool
 	sys-devel/gettext
 	virtual/pkgconfig
+	test? (
+		$(python_gen_any_dep '
+			dev-python/numpy[${PYTHON_USEDEP}]
+			dev-python/pillow[${PYTHON_USEDEP}]
+			dev-python/pip[${PYTHON_USEDEP}]
+		')
+	)
 "
 
 DOCS=(
@@ -102,6 +114,17 @@ DOCS=(
 	doc/translation.txt
 )
 
+# NOTE the build system sets up a venv for tests, we could use imagemagick with -DUSE_IMAGE_COMPARE_PY="no"
+python_check_deps() {
+	python_has_version "dev-python/numpy[${PYTHON_USEDEP}]" &&
+	python_has_version "dev-python/pillow[${PYTHON_USEDEP}]" &&
+	python_has_version "dev-python/pip[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	use test && python-any-r1_pkg_setup
+}
+
 src_prepare() {
 	if use test && [[ ${PV} != *9999* ]] ; then
 		mv -f "${WORKDIR}/MCAD-${MCAD_COMMIT}"/* "${S}/libraries/MCAD/" || die
@@ -134,6 +157,7 @@ src_configure() {
 		-DEXPERIMENTAL="$(usex experimental)"
 
 		-DHEADLESS="$(usex !gui)"
+		-DUSE_BUILTIN_CLIPPER2="no"
 		-DUSE_BUILTIN_MANIFOLD="no"
 		-DUSE_CCACHE="no"
 		-DUSE_GLAD="yes"
@@ -142,6 +166,7 @@ src_configure() {
 		-DUSE_MIMALLOC="$(usex mimalloc)"
 		-DUSE_QT6="$(usex gui)"
 		-DOFFLINE_DOCS="no" # TODO
+		-DOPENCSG_DIR="${EPREFIX}/usr/$(get_libdir)"
 	)
 
 	if use gui; then
@@ -155,8 +180,18 @@ src_configure() {
 	if [[ ${PV} != *9999* ]] ; then
 		mycmakeargs+=(
 			-DCMAKE_MODULE_PATH="${WORKDIR}/sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}/cmake"
+		)
+		if [[ ${PV} = *pre* ]] ; then
+			mycmakeargs+=(
+				-DOPENSCAD_COMMIT="${COMMIT:0:9}"
+				-DOPENSCAD_VERSION="$(ver_cut 1-3)"
+				-DSNAPSHOT="yes"
+			)
+		fi
+	else
+		mycmakeargs+=(
 			-DOPENSCAD_COMMIT="${COMMIT:0:9}"
-			-DOPENSCAD_VERSION="${PV:0:4}.${PV:4:2}.${PV:6:2}"
+			-DSNAPSHOT="yes"
 		)
 	fi
 

diff --git a/media-gfx/openscad/openscad-9999.ebuild b/media-gfx/openscad/openscad-9999.ebuild
index 338bc1a67d88..0361bac9f047 100644
--- a/media-gfx/openscad/openscad-9999.ebuild
+++ b/media-gfx/openscad/openscad-9999.ebuild
@@ -3,7 +3,8 @@
 
 EAPI=8
 
-inherit cmake flag-o-matic optfeature virtualx xdg
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake flag-o-matic optfeature python-any-r1 virtualx xdg
 
 DESCRIPTION="The Programmers Solid 3D CAD Modeller"
 HOMEPAGE="https://openscad.org/"
@@ -18,22 +19,26 @@ if [[ ${PV} = *9999* ]] ; then
 		'-OpenCSG'
 	)
 else
-	COMMIT="bc0d078e0361d7dba66723ac31bdb3b650ecff37"
-	SANITIZERS_CMAKE_COMMIT="3f0542e4e034aab417c51b2b22c94f83355dee15"
-	MCAD_COMMIT="bd0a7ba3f042bfbced5ca1894b236cea08904e26"
-
-	SRC_URI="
-		https://github.com/openscad/openscad/archive/${COMMIT}.tar.gz
-			-> ${PN}-20241114.tar.gz
-		https://github.com/arsenm/sanitizers-cmake/archive/${SANITIZERS_CMAKE_COMMIT}.tar.gz
-			-> sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}.tar.gz
-		test? (
-			https://github.com/openscad/MCAD/archive/${MCAD_COMMIT}.tar.gz -> ${PN}-MCAD-${MCAD_COMMIT}.tar.gz
-		)
-	"
-	# doc downloads are not versioned and found at:
-	# https://files.openscad.org/documentation/
-	S="${WORKDIR}/${PN}-${COMMIT}"
+	if [[ ${PV} = *pre* ]] ; then
+		COMMIT="756e080c7e49072d9926cf9ce766def180a0dcae"
+		SANITIZERS_CMAKE_COMMIT="0573e2ea8651b9bb3083f193c41eb086497cc80a"
+		MCAD_COMMIT="bd0a7ba3f042bfbced5ca1894b236cea08904e26"
+
+		SRC_URI="
+			https://github.com/openscad/openscad/archive/${COMMIT}.tar.gz
+				-> ${P}.tar.gz
+			https://github.com/arsenm/sanitizers-cmake/archive/${SANITIZERS_CMAKE_COMMIT}.tar.gz
+				-> sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}.tar.gz
+			test? (
+				https://github.com/openscad/MCAD/archive/${MCAD_COMMIT}.tar.gz -> ${PN}-MCAD-${MCAD_COMMIT}.tar.gz
+			)
+		"
+		# doc downloads are not versioned and found at:
+		# https://files.openscad.org/documentation/
+		S="${WORKDIR}/${PN}-${COMMIT}"
+	else
+		SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.src.tar.gz -> ${P}.tar.gz"
+	fi
 	KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
 fi
 
@@ -74,7 +79,7 @@ RDEPEND="
 	hidapi? ( dev-libs/hidapi )
 	manifold? (
 		dev-cpp/tbb
-		sci-mathematics/manifold
+		>=sci-mathematics/manifold-3.0.1
 	)
 	mimalloc? ( dev-libs/mimalloc:= )
 	pdf? ( x11-libs/cairo )
@@ -90,6 +95,13 @@ BDEPEND="
 	dev-util/itstool
 	sys-devel/gettext
 	virtual/pkgconfig
+	test? (
+		$(python_gen_any_dep '
+			dev-python/numpy[${PYTHON_USEDEP}]
+			dev-python/pillow[${PYTHON_USEDEP}]
+			dev-python/pip[${PYTHON_USEDEP}]
+		')
+	)
 "
 
 DOCS=(
@@ -102,6 +114,17 @@ DOCS=(
 	doc/translation.txt
 )
 
+# NOTE the build system sets up a venv for tests, we could use imagemagick with -DUSE_IMAGE_COMPARE_PY="no"
+python_check_deps() {
+	python_has_version "dev-python/numpy[${PYTHON_USEDEP}]" &&
+	python_has_version "dev-python/pillow[${PYTHON_USEDEP}]" &&
+	python_has_version "dev-python/pip[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	use test && python-any-r1_pkg_setup
+}
+
 src_prepare() {
 	if use test && [[ ${PV} != *9999* ]] ; then
 		mv -f "${WORKDIR}/MCAD-${MCAD_COMMIT}"/* "${S}/libraries/MCAD/" || die
@@ -134,6 +157,7 @@ src_configure() {
 		-DEXPERIMENTAL="$(usex experimental)"
 
 		-DHEADLESS="$(usex !gui)"
+		-DUSE_BUILTIN_CLIPPER2="no"
 		-DUSE_BUILTIN_MANIFOLD="no"
 		-DUSE_CCACHE="no"
 		-DUSE_GLAD="yes"
@@ -142,6 +166,7 @@ src_configure() {
 		-DUSE_MIMALLOC="$(usex mimalloc)"
 		-DUSE_QT6="$(usex gui)"
 		-DOFFLINE_DOCS="no" # TODO
+		-DOPENCSG_DIR="${EPREFIX}/usr/$(get_libdir)"
 	)
 
 	if use gui; then
@@ -155,8 +180,18 @@ src_configure() {
 	if [[ ${PV} != *9999* ]] ; then
 		mycmakeargs+=(
 			-DCMAKE_MODULE_PATH="${WORKDIR}/sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}/cmake"
+		)
+		if [[ ${PV} = *pre* ]] ; then
+			mycmakeargs+=(
+				-DOPENSCAD_COMMIT="${COMMIT:0:9}"
+				-DOPENSCAD_VERSION="$(ver_cut 1-3)"
+				-DSNAPSHOT="yes"
+			)
+		fi
+	else
+		mycmakeargs+=(
 			-DOPENSCAD_COMMIT="${COMMIT:0:9}"
-			-DOPENSCAD_VERSION="${PV:0:4}.${PV:4:2}.${PV:6:2}"
+			-DSNAPSHOT="yes"
 		)
 	fi