Compare commits
1 Commits
Author | SHA256 | Date | |
---|---|---|---|
42dae6779e |
75
00-snakeyaml-engine-v2.patch
Normal file
75
00-snakeyaml-engine-v2.patch
Normal 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
10
_constraints
Normal 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
19
deepCopyValue.patch
Normal 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 */
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:67c4e0cb836f9d6dfcb7169e9d19a7bb922c4d4bfa1a9de9ecbc5d414018d6ad
|
||||
size 29615413
|
241
manifold.changes
241
manifold.changes
@@ -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
|
||||
|
278
manifold.spec
278
manifold.spec
@@ -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,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
BIN
v2025.1.22.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
Reference in New Issue
Block a user