1 Commits

Author SHA256 Message Date
42dae6779e revert to -r1128a6840c28f2f5633ea07c80762451 2025-08-21 19:34:10 +02:00
7 changed files with 426 additions and 237 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:af0ea17e5006c71b439371570ccc143cd5fbd77a18c4fa713a508ef1fc3e2845
size 29657006

View File

@@ -1,125 +1,204 @@
-------------------------------------------------------------------
Thu Nov 13 19:56:51 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Wed Oct 30 11:44:57 UTC 2024 - Anton Shvetz <shvetz.anton@gmail.com>
- Update to 3.3.0
The big theme of this release is a major expansion of our npm
module to now expose the script-runner of ManifoldCAD.org to any
Node project or website that wants to use it. It even comes in a
CLI flavor now that you can use like npx manifold-cad. There have
been a number of breaking changes to ManifoldCAD.org scripts,
primarily that the classes now need to be explicitly imported and
the results explicitly exported. However, now we can import
libraries universally, from node installs, from CDNs, and even
from local scripts you write on ManifoldCAD.org! A huge thank you
to @tonious for making all this happen.
ManifoldCAD / JS / TS / WASM
- Repackage WASM dynamic evaluation and mesh export by @tonious
in #1329
- Refactor WASM state and export. by @tonious in #1351
- Make evaluator asynchronous, and other small TS tweaks. by
@tonious in #1360
- Remediate top level async calls. by @tonious in #1375
- Refactor worker.ts by @tonious in #1380
- Set extension on worker.ts imports. by @tonious in #1384
- Fall back to packaged type files if not built. by @tonious in
#1389
- Transform static imports to dynamic by @tonious in #1387
- Isomorphic Javascript Libraries by @tonious in #1392
- Add specific error messages in wasm bindings. by @tonious in
#1396
- Automagically bundle manifoldCAD.d.ts by @tonious in #1397
- Add missing declarations. by @tonious in #1398
- Fetch remote types. by @tonious in #1399
- Small bundler improvements. by @tonious in #1400
- Require explicit imports in/of manifoldCAD by @tonious in #1401
- Refactor stack trace handling. by @tonious in #1403
- Remove GlobalDefaults object. by @tonious in #1408
- Assume virtual files are typescript by @tonious in #1410
- updated involute gear library and exmaple by @elalish in #1416
- Update tests. by @tonious in #1417
- drop use-python3.patch
- Update to v2024.1.38
* No changelog provided by upstream
-------------------------------------------------------------------
Wed Aug 6 10:59:35 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Fri Oct 11 23:51:21 UTC 2024 - Anton Shvetz <shvetz.anton@gmail.com>
- update use-python3.patch with the upstream fix
- Update to v2024.1.34
* No changelog provided by upstream
-------------------------------------------------------------------
Wed Aug 6 09:06:17 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Thu Sep 5 09:29:24 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.32
* No changelog provided by upstream
-------------------------------------------------------------------
Fri Jul 18 10:48:07 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Wed Feb 21 10:49:23 UTC 2024 - Gus Kenion <gus.kenion@suse.com>
- only force gcc14 on leap 15
- Use %patch -P N instead of deprecated %patchN.
-------------------------------------------------------------------
Tue Jul 15 16:55:10 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Thu Dec 21 20:27:30 UTC 2023 - Anton Shvetz <shvetz.anton@gmail.com>
- Fix build on leap:
- downgrade openvdb 11
- disable python support
- 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:41:46 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Thu Oct 19 20:29:35 UTC 2023 - Anton Shvetz <shvetz.anton@gmail.com>
- prepare enabling the testsuite
- Update to v2023.1.29
* No changelog provided by upstream
-------------------------------------------------------------------
Mon Jul 14 00:18:08 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Wed Sep 13 07:23:22 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- enable export and par support. New BuildRequires: cmake(assimp)
- Added patch:
* deepCopyValue.patch
+ help the compiler resolve deepCopyValue
-------------------------------------------------------------------
Mon Jul 14 00:17:51 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Wed Sep 13 05:12:24 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- enable python bindings
- Reproducible builds: use SOURCE_DATE_EPOCH for timestamp
-------------------------------------------------------------------
Sun Jul 13 23:54:23 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
Fri Apr 14 04:48:27 UTC 2023 - Anton Shvetz <shvetz.anton@gmail.com>
- initial package
- 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,158 +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.3.0
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
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

BIN
v2025.1.22.tar.gz LFS Normal file

Binary file not shown.