1 Commits
devel ... main

Author SHA256 Message Date
42dae6779e revert to -r1128a6840c28f2f5633ea07c80762451 2025-08-21 19:34:10 +02:00
9 changed files with 429 additions and 245 deletions

View File

@@ -0,0 +1,75 @@
diff -up manifold-2022.1.5/manifold-deps-parent/manifold-yaml-rt/src/main/java/manifold/api/yaml/rt/parser/YamlParser.java.p00 manifold-2022.1.5/manifold-deps-parent/manifold-yaml-rt/src/main/java/manifold/api/yaml/rt/parser/YamlParser.java
--- manifold-2022.1.5/manifold-deps-parent/manifold-yaml-rt/src/main/java/manifold/api/yaml/rt/parser/YamlParser.java.p00 2023-04-14 05:16:27.835327125 +0300
+++ manifold-2022.1.5/manifold-deps-parent/manifold-yaml-rt/src/main/java/manifold/api/yaml/rt/parser/YamlParser.java 2023-04-14 05:35:31.954314211 +0300
@@ -23,16 +23,16 @@ import manifold.json.rt.parser.Token;
import manifold.json.rt.parser.TokenType;
import manifold.rt.api.util.Pair;
import manifold.util.ReflectUtil;
-import org.snakeyaml.engine.v1.api.Load;
-import org.snakeyaml.engine.v1.api.LoadSettings;
-import org.snakeyaml.engine.v1.api.LoadSettingsBuilder;
-import org.snakeyaml.engine.v1.constructor.BaseConstructor;
-import org.snakeyaml.engine.v1.constructor.StandardConstructor;
-import org.snakeyaml.engine.v1.exceptions.ConstructorException;
-import org.snakeyaml.engine.v1.exceptions.Mark;
-import org.snakeyaml.engine.v1.nodes.MappingNode;
-import org.snakeyaml.engine.v1.nodes.Node;
-import org.snakeyaml.engine.v1.nodes.NodeTuple;
+import org.snakeyaml.engine.v2.api.Load;
+import org.snakeyaml.engine.v2.api.LoadSettings;
+import org.snakeyaml.engine.v2.api.LoadSettingsBuilder;
+import org.snakeyaml.engine.v2.constructor.BaseConstructor;
+import org.snakeyaml.engine.v2.constructor.StandardConstructor;
+import org.snakeyaml.engine.v2.exceptions.ConstructorException;
+import org.snakeyaml.engine.v2.exceptions.Mark;
+import org.snakeyaml.engine.v2.nodes.MappingNode;
+import org.snakeyaml.engine.v2.nodes.Node;
+import org.snakeyaml.engine.v2.nodes.NodeTuple;
/**
* Parses YAML formatted text using snakeyaml
@@ -41,9 +41,9 @@ public class YamlParser
{
public static Object parseYaml( String yaml, boolean withTokens )
{
- LoadSettings loadSettings = new LoadSettingsBuilder()
+ LoadSettings loadSettings = LoadSettings.builder()
.setUseMarks( true )
- .setDefaultMap( DataBindings::new )
+ .setDefaultMap( map->(Map)new DataBindings(map) )
.build();
Load load = new Load( loadSettings, new MyConstructor( loadSettings, withTokens ) );
return load.loadFromString( yaml );
diff -up manifold-2022.1.5/manifold-deps-parent/manifold-yaml-rt/src/main/java/manifold/api/yaml/rt/Yaml.java.p00 manifold-2022.1.5/manifold-deps-parent/manifold-yaml-rt/src/main/java/manifold/api/yaml/rt/Yaml.java
--- manifold-2022.1.5/manifold-deps-parent/manifold-yaml-rt/src/main/java/manifold/api/yaml/rt/Yaml.java.p00 2023-04-14 05:09:30.681843836 +0300
+++ manifold-2022.1.5/manifold-deps-parent/manifold-yaml-rt/src/main/java/manifold/api/yaml/rt/Yaml.java 2023-04-14 05:35:54.586609696 +0300
@@ -18,13 +18,13 @@ package manifold.api.yaml.rt;
import manifold.rt.api.ScriptException;
import manifold.api.yaml.rt.parser.YamlParser;
-import org.snakeyaml.engine.v1.api.Dump;
-import org.snakeyaml.engine.v1.api.DumpSettings;
-import org.snakeyaml.engine.v1.api.DumpSettingsBuilder;
-import org.snakeyaml.engine.v1.api.StreamDataWriter;
-import org.snakeyaml.engine.v1.common.FlowStyle;
-import org.snakeyaml.engine.v1.exceptions.Mark;
-import org.snakeyaml.engine.v1.exceptions.MarkedYamlEngineException;
+import org.snakeyaml.engine.v2.api.Dump;
+import org.snakeyaml.engine.v2.api.DumpSettings;
+import org.snakeyaml.engine.v2.api.DumpSettingsBuilder;
+import org.snakeyaml.engine.v2.api.StreamDataWriter;
+import org.snakeyaml.engine.v2.common.FlowStyle;
+import org.snakeyaml.engine.v2.exceptions.Mark;
+import org.snakeyaml.engine.v2.exceptions.MarkedYamlEngineException;
public class Yaml
{
@@ -64,7 +64,7 @@ public class Yaml
*/
public static void toYaml( Object jsonValue, StringBuilder target )
{
- DumpSettings settings = new DumpSettingsBuilder()
+ DumpSettings settings = DumpSettings.builder()
.setBestLineBreak( "\n" )
.setMultiLineFlow( true )
.setDefaultFlowStyle( FlowStyle.BLOCK )

10
_constraints Normal file
View File

@@ -0,0 +1,10 @@
<constraints>
<hardware>
<physicalmemory>
<size unit="G">2</size>
</physicalmemory>
<disk>
<size unit="G">2</size>
</disk>
</hardware>
</constraints>

19
deepCopyValue.patch Normal file
View File

@@ -0,0 +1,19 @@
--- manifold-2023.1.20/manifold-deps-parent/manifold-json-rt/src/main/java/manifold/json/rt/api/IJsonList.java 2023-09-13 09:02:06.966864128 +0200
+++ manifold-2023.1.20/manifold-deps-parent/manifold-json-rt/src/main/java/manifold/json/rt/api/IJsonList.java 2023-09-13 09:21:40.957901849 +0200
@@ -17,6 +17,7 @@
package manifold.json.rt.api;
import java.util.List;
+import java.util.function.Function;
import manifold.rt.api.Bindings;
import manifold.ext.rt.api.IListBacked;
import manifold.ext.rt.api.IProxyFactory;
@@ -45,7 +46,7 @@
default IJsonList<T> copy()
{
//noinspection unchecked
- return (IJsonList<T>)Bindings.deepCopyValue(getList(), DataBindings::new);
+ return (IJsonList<T>)manifold.json.rt.extensions.manifold.rt.api.Bindings.ManBindingsExt.deepCopyValue(getList(), DataBindings::new);
}
/** For Internal Use Only */

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:67c4e0cb836f9d6dfcb7169e9d19a7bb922c4d4bfa1a9de9ecbc5d414018d6ad
size 29615413

View File

@@ -1,83 +1,204 @@
-------------------------------------------------------------------
Wed Aug 6 10:59:35 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Wed Oct 30 11:44:57 UTC 2024 - Anton Shvetz <shvetz.anton@gmail.com>
- update use-python3.patch with the upstream fix
- Update to v2024.1.38
* No changelog provided by upstream
-------------------------------------------------------------------
Wed Aug 6 09:06:17 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Fri Oct 11 23:51:21 UTC 2024 - Anton Shvetz <shvetz.anton@gmail.com>
- Update to 3.2.1
- Bug Fixes
- Fix downstream builds by @pca006132 in #1302
- Add MANIFOLD_FOUND cmake variable by @Trzeth in #1307
- Fix Manifold.Simplify test on intel macos by @Trzeth and
@pca006132 in #1311 and #1322 (the real fix is probably the
one below)
- Fix broken halfedge pairing by @pca006132 in #1319
- Make batch boolean deterministic by @pca006132 in #1321
- Fix odr violation by @pca006132 in #1323
- Misc
- Add old version gcc to CI by @Trzeth in #1308
- Add Cadova to users by @tomasf in #1312
- Fix faceID documentation in wasm bindings by @jirihon in
#1317
- Disable async free when asan is enabled by @pca006132 in
#1325
- Update to 3.2.0
- Bug Fixes
- Make GCC floating-point operations standard conforming by
@pca006132 in #1273
- Add missing Manifold.simplify() method to Python API by
@jonathanhogg in #1282
- Fixed meshID regression by @elalish in #1287
- Fix pyi vert_properties type by @Trzeth in #1291
- Update Clipper2 to 1.5.4 and fix CrossSection::Offset by
@Trzeth in #1292
- Skip halfedges that are removed by @pca006132 in #1296
- Fix stubgen path by @Trzeth in #1301
- Add cmake check for fp related options by @pca006132 in #1300
- Performance Improvements
- Misc performance improvements by @pca006132 in #1269
- Use union-find for winding number by @pca006132 in #1271
- Faster halfedge pairing for large meshes by @pca006132 in
#1279
- Misc
- Use cmake4 in the CI by @pca006132 in #1274
- Add Arcol to README.md by @prideout in #1286
- Add Bento3D to README.md by @sorashin in #1288
- Add fuzzing instructions by @pca006132 #1214
- Add JoinType.Bevel by @elektrohenk in #1299
- add use-python3.patch
https://github.com/elalish/manifold/issues/1327
- Update to v2024.1.34
* No changelog provided by upstream
-------------------------------------------------------------------
Fri Jul 18 10:48:07 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Thu Sep 5 09:29:24 UTC 2024 - Anton Shvetz <shvetz.anton@gmail.com>
- only force gcc14 on leap 15
- Update to v2024.1.32
* No changelog provided by upstream
-------------------------------------------------------------------
Tue Jul 15 16:55:10 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Wed Feb 21 10:49:23 UTC 2024 - Gus Kenion <gus.kenion@suse.com>
- Fix build on leap:
- downgrade openvdb 11
- disable python support
- Use %patch -P N instead of deprecated %patchN.
-------------------------------------------------------------------
Mon Jul 14 00:41:46 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Thu Dec 21 20:27:30 UTC 2023 - Anton Shvetz <shvetz.anton@gmail.com>
- prepare enabling the testsuite
- Update to v2023.1.33
* Release v2023.1.33
= Type-safe SQL
~ Query types are instantly available as you type native SQL
of any complexity in your Java code
~ Schema types are automatically derived from your database,
providing type-safe CRUD, decoupled TX, and more
~ No ORM, No DSL, No wiring, and No code generation build
steps
= Tuple expressions
~ Tuple expressions provide concise syntax to group named
data items in a lightweight structure.
= Forwarding and True Delegation
~ Favor composition over inheritance. Use @link and @part for
automatic interface implementation forwarding and
delegation.
= auto type inference
~ auto type inference for local vars, fields, and method
return types
~ Enables multiple return values for methods
= Multidimensional index operator
= Property inference on record types
= Java 21 Support
= IntelliJ IDEA & Android Studio plugin improvements
~ Comprehensive support for all new features including
type-safe SQL, forwarding & delegation, tuples, etc.
~ Many performance improvements and bug fixes toward an
improved user experience in the IDE
~ Support IDEA Chinese Language Pack
= Fixes & feature requests
~ #536: manifold-graphql: override java-graphql ParserOptions
which are not applicable to compile-time use e.g.,
maxTokens
~ #535: Intellij plugin: suppress "non-final field 'x' in
enum..." issues re @val usage
~ #533: Intellij plugin: suppress false positive errors re
manifold string templates
~ #532: Intellij plugin: string template processing is
disabled in annotations due to wide usage of ${} templating
in many annotation libraries
~ #531: Fix ProcessCanceledExceptions, forward exceptions
directly during "slow operations" handling, esp.
ProcessCanceledException
~ #529: Suppress error/warning messages in Chinese as well as
English, translate/map message filters to Chinese
(Simplified) Language Pack.
~ #528: Use private tags to execute "slow operations",
centralize how/where these are executed
~ #525: Preprocessor: Enable IDE to use SymbolProviders
according to module dependencies
~ #520: Provide error message when attempting to use a method
ref for a method returning auto, must use lambda in this
case (for now)
~ #516: Fix NoClassDefFoundError:
com/intellij/lang/java/parser/BasicStatementParser
(affected IJ versions: 2023.2.2, 2023.2.3)
~ #497: IntelliJ plugin: Complete JDK 21 support
~ #495: IntelliJ plugin: Improve performance and stability of
manifold fragments in IntelliJ
~ #494: IntelliJ plugin: Fix fragment error reporting
~ #489: Fix "cannot implement" interface error using
delegation with @link in JDK 21
~ #488: Fix tuple expr passed directly as argument to method
(was broken in jdk 11+)
~ #483: Unintended behavior for manifold-prop annotation
parameters
~ #479: Unintended behavior when using both
manifold-delegation and manifold-props
~ #478: Support abstract enum methods with manifold-ext
~ #477: Field access from inside the class on a @set field
~ #476: Fix issue with using annotation processors e.g.,
lombok, mixed with manifold
~ #474: Fix regression in 2023.1.15 where new fragment
delimiters can interfere with string templates
~ #473: Change fragment delimiters
~ #471: Change return type to be compatible with
SequencedCollection#reversed
~ #470: Support "short" runtime methods
~ #468: Avoid adding bootstrap block to sidecar classes
~ #467: IntelliJ plugin: support error/warning highlights in
fragments (in prep for manifold-sql)
~ #466: IntelliJ plugin: Deprecated class usage results in
compilation error in IntelliJ IDEA
~ #451: IntelliJ plugin: Invalid warning message re older
manifold version in project than in intellij plugin
~ #449: Remedy a java symbol resolve issue where a field and
an inner class share the same name
~ #446: Use MathContext.128 for big decimal division
~ #436: Fix mapstruct handling of default interface methods
~ #422: Fix self type bug with arrays
~ #423: Add support for forwarding and delegation
~ #421: IntelliJ plugin: auto, like var, should be
highlighted as a keyword
~ #418: Compiling from IntelliJ can cause
UnsupportedClassVersionError using the preprocessor and
using pre-JDK 17
~ #417: Class cannot be converted Issue
~ #416: Unqualified static varargs extension method call
results in compiler error
~ #414: Using JDK 17+ in preview mode + using an annotation
processor causes NPE
~ #412: "Variable expected" error involving multidimensional
index operator in assignment
~ #411: Intermittent "Incorrect CachedValue use" errors
~ #400: Support getter/setter extension methods as property
access for manifold-props
~ #409: Intellij plugin: fix generic extension method type
parameter inference regression
~ #408: Support Valhalla EA Jdk releases
~ #407: Fix compile error using latest JDK 20 EA release
(build 28)
~ #406: IntelliJ plugin: "Incorrect CachedValue use:" errors
reported with property and extension caching
~ #405: IntelliJ plugin: many issues in latest 2022.3 release
with renaming files/elements, other related issues
~ #404: Using ReflectUtil with JDK 19 cannot set value on
static final field on an interface
~ #403: Extension methods on inner classes not working in
some cases
~ #402: IntelliJ plugin: Exception when using tuple
expressions without adding manifold-tuple/manifold-tuple-rt
~ #396: Handle expression in foreach stmt where the
expression type structurally implements Iterator and a
class extension exists that makes Iterable structural
~ #395: Support property inference on record types
~ #394: Support EA release of JDK 20
~ #393: Java 17+: fix $ escape char for string templates
~ #392: Cast as raw generic type
~ #387: Tree is null for module-info file, do not process
~ #380: Fix regression involving fields as structurally
equivalent to get/set methods
~ #382: Fix instanceof pattern matching issue related to
parser changes in latest IntelliJ release
~ #376: Support an explicit typed variable having an implicit
typed initializer expression
~ #375: Policy change: support only LTS versions of JDKs and
the latest release
~ #373: New Feature: multiple return types via auto and
enhanced tuple expressions
~ #372: New Feature: type-safe tuple expressions
~ #371: New Feature: auto type inference for local vars,
fields, and method return types
~ #364: Add @Expires annotation to prevent extension methods
from duplicating JDK methods
~ #355: fix instanceof Pattern Matching within if-statement
condition (Cannot Find Symbol)
~ #351: Increment/decrement operators on properties cause
compiler exception in Java 11+
~ #349: Support non-public extension methods
~ #348: @ThisClass extension method receiver, provides the
calling class of static method
~ #345: Allow Jailbreak to work when casting
-------------------------------------------------------------------
Mon Jul 14 00:18:08 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Thu Oct 19 20:29:35 UTC 2023 - Anton Shvetz <shvetz.anton@gmail.com>
- enable export and par support. New BuildRequires: cmake(assimp)
- Update to v2023.1.29
* No changelog provided by upstream
-------------------------------------------------------------------
Mon Jul 14 00:17:51 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Wed Sep 13 07:23:22 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- enable python bindings
- Added patch:
* deepCopyValue.patch
+ help the compiler resolve deepCopyValue
-------------------------------------------------------------------
Sun Jul 13 23:54:23 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Wed Sep 13 05:12:24 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- initial package
- Reproducible builds: use SOURCE_DATE_EPOCH for timestamp
-------------------------------------------------------------------
Fri Apr 14 04:48:27 UTC 2023 - Anton Shvetz <shvetz.anton@gmail.com>
- Initial packaging with v2023.1.5
- Add patch:
* 00-snakeyaml-engine-v2.patch
+ Use snakeyaml-engine v2 instead of v1

View File

@@ -1,7 +1,7 @@
#
# spec file for package manifold
#
# Copyright (c) 2025 SUSE LLC and contributors
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,160 +16,164 @@
#
%bcond_with manifold_testing
%if 0%{?suse_version} >= 1600
%bcond_without python_bindings
%else
%bcond_with python_bindings
%endif
%if 0%{?suse_version} == 1500
%global force_gcc_version 14
%endif
%global sh_lib libmanifold3
%global sh_c_lib libmanifoldc3
Name: manifold
Version: 3.2.1
Version: 2025.1.22
Release: 0
Summary: Geometry library for topological robustness
Summary: A Java compiler plugin
License: Apache-2.0
URL: https://github.com/elalish/manifold
Source0: %{name}-%{version}.tar.gz
Source1: series
Patch1: use-python3.patch
BuildRequires: cmake
BuildRequires: gcc%{?force_gcc_version}-c++
BuildRequires: gtest
BuildRequires: openvdb-devel >= 11
BuildRequires: cmake(Clipper2)
BuildRequires: cmake(TBB)
BuildRequires: cmake(assimp)
%if %{with python_bindings}
BuildRequires: python3-nanobind-devel
%endif
Group: Development/Libraries/Java
URL: http://manifold.systems/
Source0: https://github.com/manifold-systems/%{name}/archive/refs/tags/v%{version}.tar.gz
Patch0: 00-snakeyaml-engine-v2.patch
Patch1: deepCopyValue.patch
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
BuildRequires: maven-local
BuildRequires: mvn(com.graphql-java:graphql-java)
BuildRequires: mvn(com.sparkjava:spark-core)
BuildRequires: mvn(org.antlr:antlr4-runtime)
BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-javadoc-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin)
BuildRequires: mvn(org.jetbrains:annotations)
BuildRequires: mvn(org.mozilla:rhino)
BuildRequires: mvn(org.snakeyaml:snakeyaml-engine)
BuildConflicts: java >= 9
BuildConflicts: java-devel >= 9
BuildConflicts: java-headless >= 9
# Manifold is not buildable with the openj9 based openjdk
BuildConflicts: java-openj9
BuildConflicts: java-devel-openj9
BuildConflicts: java-openj9-headless
BuildArch: noarch
%description
Manifold is a geometry library dedicated to creating and operating on manifold
triangle meshes. A manifold mesh is a mesh that represents a solid object, and
so is very important in manufacturing, CAD, structural analysis, etc. Manifold
also supports arbitrary vertex properties and enables mapping of materials for
rendering use-cases. Our primary goal is reliability: guaranteed manifold
output without caveats or edge cases. Our secondary goal is performance:
efficient algorithms that make extensive use of parallelization, or pipelining
when only a single thread is available.
Manifold is a Java compiler plugin, its features include Metaprogramming,
Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor,
and more.
%package -n %{sh_lib}
Summary: Shared library for manifold
%package javadoc
Summary: API documentation for %{name}
Group: Documentation/HTML
%description -n %{sh_lib}
Manifold is a geometry library dedicated to creating and operating on manifold
triangle meshes. A manifold mesh is a mesh that represents a solid object, and
so is very important in manufacturing, CAD, structural analysis, etc. Manifold
also supports arbitrary vertex properties and enables mapping of materials for
rendering use-cases. Our primary goal is reliability: guaranteed manifold
output without caveats or edge cases. Our secondary goal is performance:
efficient algorithms that make extensive use of parallelization, or pipelining
when only a single thread is available.
%package -n %{sh_c_lib}
Summary: Shared library for manifold
%description -n %{sh_c_lib}
Manifold is a geometry library dedicated to creating and operating on manifold
triangle meshes. A manifold mesh is a mesh that represents a solid object, and
so is very important in manufacturing, CAD, structural analysis, etc. Manifold
also supports arbitrary vertex properties and enables mapping of materials for
rendering use-cases. Our primary goal is reliability: guaranteed manifold
output without caveats or edge cases. Our secondary goal is performance:
efficient algorithms that make extensive use of parallelization, or pipelining
when only a single thread is available.
%package devel
Summary: Development files for manifold
Requires: %{sh_c_lib} = %{version}
Requires: %{sh_lib} = %{version}
Requires: cmake(Clipper2)
Requires: cmake(assimp)
%description devel
Manifold is a geometry library dedicated to creating and operating on manifold
triangle meshes. A manifold mesh is a mesh that represents a solid object, and
so is very important in manufacturing, CAD, structural analysis, etc. Manifold
also supports arbitrary vertex properties and enables mapping of materials for
rendering use-cases. Our primary goal is reliability: guaranteed manifold
output without caveats or edge cases. Our secondary goal is performance:
efficient algorithms that make extensive use of parallelization, or pipelining
when only a single thread is available.
%package -n python3-manifold
Summary: Python bindings for manifold
%description -n python3-manifold
Manifold is a geometry library dedicated to creating and operating on manifold
triangle meshes. A manifold mesh is a mesh that represents a solid object, and
so is very important in manufacturing, CAD, structural analysis, etc. Manifold
also supports arbitrary vertex properties and enables mapping of materials for
rendering use-cases. Our primary goal is reliability: guaranteed manifold
output without caveats or edge cases. Our secondary goal is performance:
efficient algorithms that make extensive use of parallelization, or pipelining
when only a single thread is available.
%description javadoc
API documentation for %{name}.
%prep
%autosetup -p1
%setup -q
%patch -P 0 -p1
%patch -P 1 -p1
%pom_disable_module %{name}-all
# Missing HakariCP dependency
%pom_disable_module %{name}-sql-rt %{name}-deps-parent
%pom_disable_module %{name}-sql-inproc-test %{name}-deps-parent
%pom_disable_module %{name}-sql %{name}-deps-parent
%pom_remove_plugin org.sonatype.central:central-publishing-maven-plugin
%pom_remove_plugin :maven-source-plugin
%build
%if 0%{?force_gcc_version}
export CC="gcc-%{?force_gcc_version}"
export CXX="g++-%{?force_gcc_version}"
%endif
%cmake \
-DMANIFOLD_USE_BUILTIN_manifold=OFF \
-DMANIFOLD_EXPORT:BOOL=ON \
-DMANIFOLD_PAR:BOOL=ON \
%if %{with python_bindings}
-DMANIFOLD_PYBIND:BOOL=ON \
%else
-DMANIFOLD_PYBIND:BOOL=OFF \
%endif
-DMANIFOLD_CBIND:BOOL=ON
%cmake_build
MAVEN_OPTS="-Xmx1g" \
%{mvn_build} -i -j -f -- \
-Prelease -Drelease=8
%install
%cmake_install
%define manifold_artifact() \
if test -f %{1}/target/%{basename:%1}-%{version}.jar ; \
then \
%{mvn_artifact} %{1}/pom.xml %{1}/target/%{basename:%1}-%{version}.jar ; \
if test -d %{1}/target/reports/apidocs ; \
then \
cp -prf %{1}/target/reports/apidocs %{buildroot}%{_javadocdir}/%{basename:%1} ; \
echo %{_javadocdir}/%{basename:%1} >>.mfiles-javadoc ; \
fi \
else \
%{mvn_artifact} %{1}/pom.xml ; \
fi \
%{nil}
%if %{with manifold_testing}
%check
%ctest
%endif
install -dm0755 %{buildroot}%{_javadocdir}
%ldconfig_scriptlets -n %{sh_lib}
%ldconfig_scriptlets -n %{sh_c_lib}
%manifold_artifact .
#%%manifold_artifact %%{name}-all
%manifold_artifact %{name}-core-parent
%manifold_artifact %{name}-core-parent/%{name}
%manifold_artifact %{name}-core-parent/%{name}-rt
%manifold_artifact %{name}-deps-parent
%manifold_artifact %{name}-deps-parent/%{name}-collections
%manifold_artifact %{name}-deps-parent/%{name}-collections-test
%manifold_artifact %{name}-deps-parent/%{name}-csv
%manifold_artifact %{name}-deps-parent/%{name}-csv-rt
%manifold_artifact %{name}-deps-parent/%{name}-csv-test
%manifold_artifact %{name}-deps-parent/%{name}-darkj
%manifold_artifact %{name}-deps-parent/%{name}-darkj-test
%manifold_artifact %{name}-deps-parent/%{name}-delegation
%manifold_artifact %{name}-deps-parent/%{name}-delegation-rt
%manifold_artifact %{name}-deps-parent/%{name}-delegation-test
%manifold_artifact %{name}-deps-parent/%{name}-exceptions
%manifold_artifact %{name}-deps-parent/%{name}-exceptions-test
%manifold_artifact %{name}-deps-parent/%{name}-ext
%manifold_artifact %{name}-deps-parent/%{name}-ext-middle-test
%manifold_artifact %{name}-deps-parent/%{name}-ext-producer-sample
%manifold_artifact %{name}-deps-parent/%{name}-ext-producer-sample-test
%manifold_artifact %{name}-deps-parent/%{name}-ext-rt
%manifold_artifact %{name}-deps-parent/%{name}-ext-test
%manifold_artifact %{name}-deps-parent/%{name}-graphql
%manifold_artifact %{name}-deps-parent/%{name}-graphql-rt
%manifold_artifact %{name}-deps-parent/%{name}-graphql-test
%manifold_artifact %{name}-deps-parent/%{name}-highjump
%manifold_artifact %{name}-deps-parent/%{name}-highjump-test
%manifold_artifact %{name}-deps-parent/%{name}-image
%manifold_artifact %{name}-deps-parent/%{name}-image-test
%manifold_artifact %{name}-deps-parent/%{name}-io
%manifold_artifact %{name}-deps-parent/%{name}-io-test
%manifold_artifact %{name}-deps-parent/%{name}-js
%manifold_artifact %{name}-deps-parent/%{name}-js-rt
%manifold_artifact %{name}-deps-parent/%{name}-js-test
%manifold_artifact %{name}-deps-parent/%{name}-json
%manifold_artifact %{name}-deps-parent/%{name}-json-rt
%manifold_artifact %{name}-deps-parent/%{name}-json-test
%manifold_artifact %{name}-deps-parent/%{name}-preprocessor
%manifold_artifact %{name}-deps-parent/%{name}-preprocessor-android-syms
%manifold_artifact %{name}-deps-parent/%{name}-preprocessor-test
%manifold_artifact %{name}-deps-parent/%{name}-properties
%manifold_artifact %{name}-deps-parent/%{name}-properties-test
%manifold_artifact %{name}-deps-parent/%{name}-props
%manifold_artifact %{name}-deps-parent/%{name}-props-middle-test
%manifold_artifact %{name}-deps-parent/%{name}-props-rt
%manifold_artifact %{name}-deps-parent/%{name}-props-test
%manifold_artifact %{name}-deps-parent/%{name}-science
%manifold_artifact %{name}-deps-parent/%{name}-science-test
%manifold_artifact %{name}-deps-parent/%{name}-strings
%manifold_artifact %{name}-deps-parent/%{name}-strings-test
%manifold_artifact %{name}-deps-parent/%{name}-strings-test-excl
%manifold_artifact %{name}-deps-parent/%{name}-templates
%manifold_artifact %{name}-deps-parent/%{name}-templates-rt
%manifold_artifact %{name}-deps-parent/%{name}-templates-test
%manifold_artifact %{name}-deps-parent/%{name}-test
%manifold_artifact %{name}-deps-parent/%{name}-text
%manifold_artifact %{name}-deps-parent/%{name}-text-test
%manifold_artifact %{name}-deps-parent/%{name}-tuple
%manifold_artifact %{name}-deps-parent/%{name}-tuple-rt
%manifold_artifact %{name}-deps-parent/%{name}-tuple-test
%manifold_artifact %{name}-deps-parent/%{name}-xml
%manifold_artifact %{name}-deps-parent/%{name}-xml-rt
%manifold_artifact %{name}-deps-parent/%{name}-xml-test
%manifold_artifact %{name}-deps-parent/%{name}-yaml
%manifold_artifact %{name}-deps-parent/%{name}-yaml-rt
%manifold_artifact %{name}-deps-parent/%{name}-yaml-test
%manifold_artifact %{name}-javadoc-agent
%manifold_artifact %{name}-util
%files -n %{sh_lib}
%mvn_install
%fdupes %{buildroot}%{_javadocdir}/%{name}*
%files -f .mfiles
%license LICENSE
%{_libdir}/libmanifold.so.*
%doc README.md authors.txt
%files -n %{sh_c_lib}
%files javadoc -f .mfiles-javadoc
%license LICENSE
%{_libdir}/libmanifoldc.so.*
%files devel
%license LICENSE
%doc README.md CONTRIBUTING.md
%{_libdir}/libmanifold.so
%{_libdir}/libmanifoldc.so
%{_includedir}/manifold/
%{_libdir}/cmake/manifold/
%{_libdir}/pkgconfig/manifold.pc
%if %{with python_bindings}
%files -n python3-manifold
%license LICENSE
%{python3_sitearch}/manifold3d.*.so
%{python3_sitearch}/manifold3d.pyi
%endif
%changelog

1
series
View File

@@ -1 +0,0 @@
use-python3.patch

View File

@@ -1,44 +0,0 @@
commit 3124ad45e4562dc051b5e557316ebbdde18f2db1
Author: darix <darix@users.noreply.github.com>
Date: Wed Aug 6 12:41:34 2025 +0200
Use Python_EXECUTABLE from FindPython instead of hardcoding the command (#1328)
on many linux distributions /usr/bin/python would refer to python 2
which no longer exists. python 3.x is usually /usr/bin/python3.
The finder handles this for us.
Fixes #1327
diff --git a/bindings/python/CMakeLists.txt b/bindings/python/CMakeLists.txt
index 07a8f8f..bba59e8 100644
--- a/bindings/python/CMakeLists.txt
+++ b/bindings/python/CMakeLists.txt
@@ -16,6 +16,8 @@ nanobind_add_module(manifold3d NB_STATIC STABLE_ABI LTO autogen_docstrings.inl
manifold3d.cpp
)
+message(Python_EXECUTABLE = ${Python_EXECUTABLE})
+
if(MANIFOLD_PYBIND_STUBGEN)
nanobind_add_stub(
manifold3d_stub
@@ -30,7 +32,8 @@ if(MANIFOLD_PYBIND_STUBGEN)
TARGET manifold3d_stub
POST_BUILD
COMMAND
- python "${PROJECT_SOURCE_DIR}/bindings/python/stub_postbuild.py"
+ "${Python_EXECUTABLE}"
+ "${PROJECT_SOURCE_DIR}/bindings/python/stub_postbuild.py"
"${CMAKE_CURRENT_BINARY_DIR}/manifold3d.pyi"
VERBATIM
)
@@ -43,7 +46,6 @@ target_compile_options(
)
set_target_properties(manifold3d PROPERTIES OUTPUT_NAME "manifold3d")
-message(Python_EXECUTABLE = ${Python_EXECUTABLE})
# ideally we should generate a dependency file from python...
set(
DOCSTRING_DEPS

BIN
v2025.1.22.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.