Compare commits

..

2 Commits
rawhide ... f30

Author SHA1 Message Date
Qianqian Fang 5b32bb050b merge with master 2019-10-11 17:40:19 -04:00
Qianqian Fang 06ae05eba5 remove gmp-devel from Requires 2019-10-10 23:02:39 -04:00
7 changed files with 206 additions and 253 deletions

3
.gitignore vendored
View File

@ -2,6 +2,3 @@
/iso2mesh-1.9.1.tar.gz
/meshfix-1.2.1.tar.gz
/tetgen1.5.1.tar.gz
/cork-0.9.1.tar.gz
/iso2mesh-1.9.6.tar.gz
/meshfix-1.2.2.tar.gz

View File

@ -1,113 +0,0 @@
diff -up iso2mesh-1.9.6/tools/cgalmesh/CMakeLists.txt~ iso2mesh-1.9.6/tools/cgalmesh/CMakeLists.txt
--- iso2mesh-1.9.6/tools/cgalmesh/CMakeLists.txt~ 2020-09-05 21:56:08.000000000 +0200
+++ iso2mesh-1.9.6/tools/cgalmesh/CMakeLists.txt 2021-07-20 11:17:50.726256258 +0200
@@ -4,12 +4,7 @@
project( Mesh_3_example )
-cmake_minimum_required(VERSION 2.6.2)
-if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3)
- cmake_policy(VERSION 2.8.4)
-else()
- cmake_policy(VERSION 2.6)
-endif()
+cmake_minimum_required(VERSION 3.1...3.21)
include_directories(../../include)
include_directories(../../../Triangulation_3/include)
@@ -32,7 +27,7 @@ if ( CGAL_FOUND )
option(ACTIVATE_CONCURRENT_MESH_3
"Activate parallelism in Mesh_3"
OFF)
-
+
# And add -DCGAL_CONCURRENT_MESH_3 if that option is ON
if( ACTIVATE_CONCURRENT_MESH_3 OR ENV{ACTIVATE_CONCURRENT_MESH_3} )
add_definitions( -DCGAL_CONCURRENT_MESH_3 )
@@ -45,7 +40,7 @@ if ( CGAL_FOUND )
find_package( TBB )
endif( LINK_WITH_TBB )
endif()
-
+
if( TBB_FOUND )
include(${TBB_USE_FILE})
list(APPEND CGAL_3RD_PARTY_LIBRARIES ${TBB_LIBRARIES})
@@ -74,4 +69,3 @@ if ( CGAL_FOUND )
else()
message(STATUS "This program requires the CGAL library, and will not be compiled.")
endif()
-
diff -up iso2mesh-1.9.6/tools/cgalsimp2/CMakeLists.txt~ iso2mesh-1.9.6/tools/cgalsimp2/CMakeLists.txt
--- iso2mesh-1.9.6/tools/cgalsimp2/CMakeLists.txt~ 2020-09-05 21:56:08.000000000 +0200
+++ iso2mesh-1.9.6/tools/cgalsimp2/CMakeLists.txt 2021-07-20 11:18:34.737708589 +0200
@@ -4,22 +4,9 @@
project( Surface_mesh_simplification )
-cmake_minimum_required(VERSION 2.6.2)
-if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6)
- if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3)
- cmake_policy(VERSION 2.8.4)
- else()
- cmake_policy(VERSION 2.6)
- endif()
-endif()
+cmake_minimum_required(VERSION 3.1...3.21)
set( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true )
-
-if ( COMMAND cmake_policy )
-
- cmake_policy( SET CMP0003 NEW )
-
-endif()
# CGAL and its components
find_package( CGAL QUIET COMPONENTS )
@@ -27,7 +14,7 @@ find_package( CGAL QUIET COMPONENTS )
if ( NOT CGAL_FOUND )
message(STATUS "This project requires the CGAL library, and will not be compiled.")
- return()
+ return()
endif()
@@ -42,7 +29,7 @@ if ( NOT Boost_FOUND )
message(STATUS "This project requires the Boost library, and will not be compiled.")
- return()
+ return()
endif()
diff -up iso2mesh-1.9.6/tools/cgalsurf/CMakeLists.txt~ iso2mesh-1.9.6/tools/cgalsurf/CMakeLists.txt
--- iso2mesh-1.9.6/tools/cgalsurf/CMakeLists.txt~ 2020-09-05 21:56:08.000000000 +0200
+++ iso2mesh-1.9.6/tools/cgalsurf/CMakeLists.txt 2021-07-20 11:18:16.986526147 +0200
@@ -3,12 +3,7 @@
project( Surface_mesher_example )
-cmake_minimum_required(VERSION 2.6.2)
-if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3)
- cmake_policy(VERSION 2.8.4)
-else()
- cmake_policy(VERSION 2.6)
-endif()
+cmake_minimum_required(VERSION 3.1...3.21)
include_directories(../../include)
@@ -26,8 +21,7 @@ else()
if(RUNNING_CGAL_AUTO_TEST)
# Just to avoid a warning from CMake if that variable is set on the command line...
endif()
-
+
message(STATUS "NOTICE: This program requires the CGAL and CGAL ImageIO libraries, and will not be compiled.")
-
-endif()
+endif()

View File

@ -1,12 +0,0 @@
diff -up iso2mesh-1.9.6/tools/cgalmesh/CMakeLists.txt~ iso2mesh-1.9.6/tools/cgalmesh/CMakeLists.txt
--- iso2mesh-1.9.6/tools/cgalmesh/CMakeLists.txt~ 2021-07-20 11:24:07.950132510 +0200
+++ iso2mesh-1.9.6/tools/cgalmesh/CMakeLists.txt 2021-07-20 11:25:30.913983853 +0200
@@ -47,7 +47,7 @@ if ( CGAL_FOUND )
endif()
- if ( Boost_FOUND AND Boost_VERSION GREATER 103400 )
+ if ( Boost_FOUND )
include( CGAL_CreateSingleSourceCGALProgram )
# Compilable examples

View File

@ -0,0 +1,14 @@
diff -up a/CMakeLists.txt.orig b/CMakeLists.txt
--- a/CMakeLists.txt.orig 2019-10-01 18:39:42.000000000 +0200
+++ b/CMakeLists.txt 2019-10-07 20:06:44.072901788 +0200
@@ -8,10 +8,6 @@ include_directories(
contrib/OpenNL3.2.1/src
contrib/jrs_predicates
)
-link_directories(
- ${LINK_DIRECTORIES}
- ${CMAKE_CURRENT_SOURCE_DIR}/contrib/JMeshLib/lib
-)
file(GLOB meshfix_h include/*.h)
set(meshfix_src
contrib/jrs_predicates/jrs_predicates.c

View File

@ -1,36 +0,0 @@
Avoid implicit function declarations: Declare lsame_ and
xerbla_. Include <slu_ddefs.h> for dCreate_CompCol_Matrix,
dCreate_Dense_Matrix, dgssv. Prevents build failures with future
compilers.
Submitted upstream: <https://github.com/fangq/meshfix/pull/1>
diff -ur iso2mesh-1.9.6.orig/tools/meshfix/contrib/OpenNL3.2.1/src/nl_single_file.c iso2mesh-1.9.6/tools/meshfix/contrib/OpenNL3.2.1/src/nl_single_file.c
--- iso2mesh-1.9.6.orig/tools/meshfix/contrib/OpenNL3.2.1/src/nl_single_file.c 2020-06-20 18:44:57.000000000 +0200
+++ iso2mesh-1.9.6/tools/meshfix/contrib/OpenNL3.2.1/src/nl_single_file.c 2023-04-14 09:02:52.027673795 +0200
@@ -1480,6 +1480,8 @@
typedef NLboolean logical ;
typedef NLint ftnlen ;
+int NL_FORTRAN_WRAP(lsame)(char *ca, char *cb);
+int NL_FORTRAN_WRAP(xerbla)(char *srname, int *info);
#ifndef max
#define max(x,y) ((x) > (y) ? (x) : (y))
@@ -3437,6 +3439,16 @@
/* SuperLU includes */
#include <slu_cdefs.h>
+
+/* Hide the dgemv, gemv_ prototypes because the local definition is
+ different (the n, m arguments are integers, not pointers to
+ integers here). */
+#define dgemv dgemv_hidden
+#define dgemv_ dgemv__hidden
+#include <slu_ddefs.h>
+#undef dgemv
+#undef dgemv_
+
#include <supermatrix.h>
/* Note: SuperLU is difficult to call, but it is worth it. */

View File

@ -1,8 +1,8 @@
%global octpkg iso2mesh
Name: octave-%{octpkg}
Version: 1.9.6
Release: 11%{?dist}
Version: 1.9.1
Release: 3%{?dist}
Summary: A 3D surface and volumetric mesh generator for MATLAB/Octave
# Main package: GPLv3+
# Meshfix: GPLv2+
@ -14,22 +14,13 @@ URL: http://iso2mesh.sf.net
# the following utilities are called internally by iso2mesh (stored under a private folder),
# this is needed for making outputs reproducible
Source0: https://github.com/fangq/iso2mesh/archive/v%{version}/%{octpkg}-%{version}.tar.gz
Source1: https://github.com/fangq/cork/archive/v0.9.1/cork-0.9.1.tar.gz
Source2: https://github.com/fangq/meshfix/archive/v1.2.2/meshfix-1.2.2.tar.gz
Source1: https://github.com/fangq/cork/archive/v0.9/cork-0.9.tar.gz
Source2: https://github.com/fangq/meshfix/archive/v1.2.1/meshfix-1.2.1.tar.gz
Source3: http://ftp.mcs.anl.gov/pub/petsc/externalpackages/tetgen1.5.1.tar.gz
# Policy CMP0064 is not set: Support new TEST if() operator.
# See also https://github.com/CGAL/cgal/issues/5857
Patch0: iso2mesh-1.9.6-CMakeCMP0064.patch
# Fix the incorrect detection of Boost version
# > -- NOTICE: This program requires Boost >= 1.34.1, and will not be compiled.
Patch1: iso2mesh-1.9.6-recent_Boost_version.patch
Patch2: octave-iso2mesh-c99.patch
Patch0: meshfix-remove-rpath.patch
ExcludeArch: armv7hl
BuildRequires: make
BuildRequires: cmake CGAL-devel SuperLU-devel gcc-c++ zlib-devel octave-devel
BuildRequires: cmake CGAL-devel SuperLU-devel blas-static gcc-c++ zlib-devel octave-devel
%if 0%{?fedora} >=32
Requires: octave mpfr-devel boost-devel SuperLU octave-jsonlab octave-jnifti octave-zmat
@ -65,21 +56,197 @@ This package contains the demo script and sample datasets for octave-%{octpkg}.
%prep
%setup -q -b 1 -n %{octpkg}-%{version}
%setup -q -T -D -b 2 -n meshfix-1.2.2
%setup -q -T -D -b 2 -n meshfix-1.2.1
%patch0 -p1
%setup -q -T -D -b 3 -n %{octpkg}-%{version}
%patch -P 0 -z .bak -p1
%patch -P 1 -z .bak -p1
rm -rf tools/cork
rm -rf tools/meshfix
rm -rf tools/tetgen
mv ../cork-0.9.1 tools/cork
mv ../meshfix-1.2.2 tools/meshfix
mv ../cork-0.9 tools/cork
mv ../meshfix-1.2.1 tools/meshfix
mv ../tetgen1.5.1 tools/tetgen
%patch -P 2 -p1
rm -rf bin/*.mex* bin/*.exe bin/*.dll
cp COPYING.txt COPYING
cat > DESCRIPTION << EOF
Name: %{octpkg}
Version: %{version}
Date: %(date +"%Y-%d-%m")
Title: %{summary}
Author: Qianqian Fang <fangqq@gmail.com>
Maintainer: Qianqian Fang <fangqq@gmail.com>
Description: Iso2Mesh is a MATLAB/Octave-based mesh generation toolbox,
designed for easy creation of high quality surface and
tetrahedral meshes from 3D volumetric images. It contains
a rich set of mesh processing scripts/programs, working
either independently or interacting with external free
meshing utilities. Iso2Mesh toolbox can directly convert
a 3D image stack, including binary, segmented or gray-scale
images such as MRI or CT scans, into quality volumetric
meshes. This makes it particularly suitable for multi-modality
medical imaging data analysis and multi-physics modeling.
Iso2Mesh is cross-platform and is compatible with both MATLAB
and GNU Octave.
URL: %{url}
Depends: jnifti, jsonlab, zmat
Categories: Mesh
EOF
cat > INDEX << EOF
iso2mesh >> Iso2Mesh
Iso2Mesh
advancefront
barydualmesh
bbxflatsegment
binsurface
bwislands
cgals2m
cgalv2m
deislands2d
deislands3d
delendelem
deletemeshfile
edgeneighbors
elemfacecenter
elemvolume
extractloops
extrudecurve
extrudesurf
faceneighbors
fallbackexeext
fillholes3d
fillsurf
finddisconnsurf
flatsegment
getexeext
getintersecttri
getoptkey
getplanefrom3pt
getvarfrom
highordertet
i2m
imedge3d
img2mesh
innersurf
insurface
internalpoint
iso2meshver
isoctavemesh
jsonopt
latticegrid
m2v
maskdist
maxsurf
mcpath
memmapstream
mergemesh
mergestruct
mergesurf
mesh2mask
mesh2vol
meshabox
meshacylinder
meshanellip
meshasphere
meshcentroid
meshcheckrepair
meshconn
meshcylinders
meshedge
mesheuler
meshface
meshgrid5
meshgrid6
meshinterp
meshquality
meshrefine
meshremap
meshreorient
meshresample
meshunitsphere
mwpath
neighborelem
nodevolume
orderloopedge
orthdisk
outersurf
plotedges
plotmesh
plotsurf
plottetra
qmeshcut
raysurf
raytrace
readasc
readgts
readinr
readmedit
readmptiff
readnirfast
readoff
readsmf
readtetgen
remeshsurf
removedupelem
removedupnodes
removeisolatednode
removeisolatedsurf
rotatevec3d
rotmat2vec
s2m
s2v
saveabaqus
saveasc
savebinstl
savedxf
savegts
saveinr
savejmesh
savejson
savemedit
savemphtxt
savemsh
savenirfast
saveoff
savesmf
savestl
savesurfpoly
savetetgenele
savetetgennode
savevrml
smoothbinvol
smoothsurf
sms
sortmesh
surf2mesh
surf2vol
surf2volz
surfaceclean
surfacenorm
surfboolean
surfdiffuse
surfedge
surfinterior
surfpart
surfplane
surfreorient
surfseeds
surfvolume
thickenbinvol
thinbinvol
uniqedges
uniqfaces
v2m
v2s
varargin2struct
vol2mesh
vol2restrictedtri
vol2surf
volface
volmap2mesh
EOF
mkdir -p inst/
rm -rf base64decode base64encode fast_match_bracket gzipdecode gzipencode \
@ -92,28 +259,12 @@ savemsgpack savenifti saveubjson zlibdecode zlibencode
mv *.m inst/
mv img2mesh.fig inst/
# Fix jmeshlib build flags
sed -e "s|-Wall|%{optflags}|;s|^LIBS = |&$RPM_LD_FLAGS |" \
-i tools/meshfix/contrib/JMeshLib/test/Makefile
# Link FlexiBLAS instead of BLAS
sed -e "s| blas| flexiblas|" -i tools/meshfix/CMakeLists.txt
# Fix tetgen build flags
sed -e "s|^\(CXXFLAGS = \).*|\1%{optflags} $RPM_LD_FLAGS|" \
-e "s|-O0|%{optflags} $RPM_LD_FLAGS|" \
-i tools/tetgen/makefile
%build
%set_build_flags
%if 0%{?__isa_bits} == 32
# Reduce the debuginfo level to avoid virtual memory exhaustion
CXXFLAGS="${CXXFLAGS-} -g1"
%endif
pushd tools
# can't use make_build macro below because parallel make with CGAL exhausts
# vm's memory and crash the building process, use sequential make instead
make USERCCFLAGS="%{optflags}"
make
popd
pushd bin
ln -s tetgen1.5 tetgen
@ -167,54 +318,6 @@ install -m 0755 -vp bin/* %{buildroot}%{_libexecdir}/%{octpkg}/
%doc sample
%changelog
* Fri Apr 14 2023 Florian Weimer <fweimer@redhat.com> - 1.9.6-11
- Port to C99
* Sun Apr 09 2023 Orion Poplawski <orion@nwra.com> - 1.9.6-10
- Rebuild for octave 8.1.0
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.6-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.6-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jun 01 2022 Orion Poplawski <orion@nwra.com> - 1.9.6-7
- Rebuild for octave 7.1
* Fri May 06 2022 Iñaki Úcar <iucar@fedoraproject.org> - 1.9.6-6
- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sat Oct 30 2021 Antonio Trande <sagitter@fedoraproject.org> - 1.9.6-3
- Rebuild for SuperLU-5.3.0
* Thu Jul 22 2021 Qianqian Fang <fangqq@gmail.com> - 1.9.6-3
- Apply makefile patch by Laurent Rineau, fix CGAL build error on F35, fix #1917433
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Sep 04 2020 Qianqian Fang <fangqq@gmail.com> - 1.9.6-1
- New upstream release 1.9.6
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.1-7
- Fix cgal build error on F34
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Nov 25 2019 Jerry James <loganjerry@gmail.com> - 1.9.1-4
- Rebuild for mpfr 4
- Use Fedora build flags when building jmeshlib and tetgen
* Fri Oct 11 2019 Qianqian Fang <fangqq@gmail.com> - 1.9.1-3
- Define octave package-level dependency via the DESCRIPTION file
- Remove gmp-devel from Requires

View File

@ -1,4 +1,4 @@
SHA512 (cork-0.9.1.tar.gz) = fb7915c3f238978e4765c32173858768397fbf13e8b9be95cc1c17cf7bedb34b40b4b26feba0dc51c663f2dda33076ba29ae7b74460a4e39924b96eef145a458
SHA512 (iso2mesh-1.9.6.tar.gz) = fb4799daf779e306b751b51237eb9b00f6c94df4efb7336bdd3690e913dd4f459b45d365c52915a3232568fa3e8100264bfc54ad014becf3b314ddf0abc35c90
SHA512 (meshfix-1.2.2.tar.gz) = cd2cb2f4dfe0e8bcacafde1bb739e7db958e5a814c6bb7bcf318db029d482b56dda92c40aa72513cbc56c5f3948f9051d6772e76cd94dc828512d2710c46ce03
SHA512 (cork-0.9.tar.gz) = 192ace02060519e39894fe33d481e86b84f996ece4db9ace02c5cfcaeafcb058f3e23950f3ee885c140978af71c81759f3eef0c5c2557f4eb215168b3c963506
SHA512 (iso2mesh-1.9.1.tar.gz) = a317ed9c0c63fbccac7b1df15a5c7f64a7e26658616b397361e783da8042dbeb340588620955934ce3675634d7194f956afa7c4f4b76495548c4d62d46ef2a8e
SHA512 (meshfix-1.2.1.tar.gz) = f4da936c74414d65641c4d3d4d60968edfa2baeb4cb3cd7d6be95fa6c7d94c703ea1b09442d27685411c3ebf8ccd94765952fb0b4fa31a7dffa9a98470556ead
SHA512 (tetgen1.5.1.tar.gz) = dc485e67c4aba11c390152bc807f2572a95358e16fc76b147afd6cf00f70c4c4a57997b341e0432b06ba53d3e7e4b1961c0912a30454da4352e55c07051598ef