Opened 10 years ago

Closed 10 years ago

#44042 closed submission (fixed)

oce @0.15 - new port

Reported by: mbrethen Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.3.0
Keywords: Cc:
Port: oce

Description

Currently, the easiest way to build OpenCASCADE on OS X is from the community edition (oce). I'm attaching a proposed Portfile for oce=0.15. OCE has the same license as OCCT; since OCCT 6.7.0, you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 2.1.

Here are default flags on OS X

OCE_BUILD_SHARED_LIB ON
OCE_BUILD_TYPE Release
OCE_DATAEXCHANGE ON
OCE_DRAW OFF
OCE_INSTALL_PREFIX /opt/local
OCE_MODEL ON
OCE_MULTITHREAD_LIBRARY NONE
OCE_OCAF ON
OCE_VISUALISATION ON
OCE_WITH_FREEIMAGE OFF
OCE_WITH_GL2PS OFF

In order to build DRAWEXE, one can add the 'draw' variant: 'sudo port install +draw'

OCE can be compiled with TBB in order to support parallel meshing. Enable it with: 'sudo port install +tbb'

There are additional variants, see Portfile for a full list.

The Draw Test Harness provides a flexible and easy-to-use means of testing and demonstrating the CAS.CADE modeling libraries. See $PREFIX/share/oce-0.15/src/DrawResources/DRAW.doc.

Attachments (1)

Portfile (2.5 KB) - added by mbrethen 10 years ago.
Portfile

Download all attachments as: .zip

Change History (9)

comment:1 Changed 10 years ago by mbrethen

$ port -vd test oce +test

... <wait a very long time> ...

Running tests...
/opt/local/bin/ctest --force-new-ctest-process 
Test project /Users/marbre/.macports/opt/local/var/macports/build/_Users_marbre_ports_graphics_oce/oce/work/build
      Start  1: BRepAlgoAPITestSuite.testCutBox
 1/48 Test  #1: BRepAlgoAPITestSuite.testCutBox .................   Passed    1.70 sec
      Start  2: BRepAlgoAPITestSuite.testCutCylSphere
 2/48 Test  #2: BRepAlgoAPITestSuite.testCutCylSphere ...........   Passed    0.13 sec
      Start  3: BRepExtremaTestSuite.testDistSphereSphere
 3/48 Test  #3: BRepExtremaTestSuite.testDistSphereSphere .......   Passed    0.04 sec
      Start  4: BRepExtremaTestSuite.testDistSphereVertex
 4/48 Test  #4: BRepExtremaTestSuite.testDistSphereVertex .......   Passed    0.01 sec
      Start  5: BRepExtremaTestSuite.testDistVertexEdge
 5/48 Test  #5: BRepExtremaTestSuite.testDistVertexEdge .........   Passed    0.01 sec
      Start  6: BRepExtremaTestSuite.testDistEdgeVertex
 6/48 Test  #6: BRepExtremaTestSuite.testDistEdgeVertex .........   Passed    0.01 sec
      Start  7: BRepExtremaTestSuite.testDistVertexFace
 7/48 Test  #7: BRepExtremaTestSuite.testDistVertexFace .........   Passed    0.01 sec
      Start  8: BRepExtremaTestSuite.testDistFaceVertex
 8/48 Test  #8: BRepExtremaTestSuite.testDistFaceVertex .........   Passed    0.01 sec
      Start  9: BRepGPropTestSuite.testComputeBoxVolume
 9/48 Test  #9: BRepGPropTestSuite.testComputeBoxVolume .........   Passed    0.03 sec
      Start 10: BRepGPropTestSuite.testComputeBoxSurface
10/48 Test #10: BRepGPropTestSuite.testComputeBoxSurface ........   Passed    0.01 sec
      Start 11: BRepGPropTestSuite.testComputeSphereVolume
11/48 Test #11: BRepGPropTestSuite.testComputeSphereVolume ......   Passed    0.01 sec
      Start 12: BRepImportTestSuite.testImportBRep1
12/48 Test #12: BRepImportTestSuite.testImportBRep1 .............   Passed    1.48 sec
      Start 13: BRepImportTestSuite.testImportBRep2
13/48 Test #13: BRepImportTestSuite.testImportBRep2 .............   Passed    0.04 sec
      Start 14: BRepImportTestSuite.testImportBRep3
14/48 Test #14: BRepImportTestSuite.testImportBRep3 .............   Passed    0.05 sec
      Start 15: BRepImportTestSuite.testImportBRep4
15/48 Test #15: BRepImportTestSuite.testImportBRep4 .............   Passed    0.10 sec
      Start 16: BRepMeshTestSuite.testMeshBox
16/48 Test #16: BRepMeshTestSuite.testMeshBox ...................   Passed    0.07 sec
      Start 17: BRepMeshTestSuite.testMeshSphere
17/48 Test #17: BRepMeshTestSuite.testMeshSphere ................   Passed    0.23 sec
      Start 18: BRepMeshTestSuite.testMeshTorus
18/48 Test #18: BRepMeshTestSuite.testMeshTorus .................   Passed    5.18 sec
      Start 19: BRepOffsetAPITestSuite.testEvolvedShape
19/48 Test #19: BRepOffsetAPITestSuite.testEvolvedShape .........   Passed    0.40 sec
      Start 20: BRepOffsetAPITestSuite.testOffsetBox
20/48 Test #20: BRepOffsetAPITestSuite.testOffsetBox ............   Passed    0.07 sec
      Start 21: BRepPrimAPITestSuite.testCreateBox
21/48 Test #21: BRepPrimAPITestSuite.testCreateBox ..............   Passed    0.06 sec
      Start 22: BRepPrimAPITestSuite.testCreateFlatBox
22/48 Test #22: BRepPrimAPITestSuite.testCreateFlatBox ..........   Passed    0.03 sec
      Start 23: BRepPrimAPITestSuite.testCreateSmallestBox
23/48 Test #23: BRepPrimAPITestSuite.testCreateSmallestBox ......   Passed    0.01 sec
      Start 24: gpTestSuite.testgp_PntConstruct
24/48 Test #24: gpTestSuite.testgp_PntConstruct .................   Passed    0.04 sec
      Start 25: gpTestSuite.testgp_PntDistance
25/48 Test #25: gpTestSuite.testgp_PntDistance ..................   Passed    0.01 sec
      Start 26: gpTestSuite.testBuildThousandsPoints
26/48 Test #26: gpTestSuite.testBuildThousandsPoints ............   Passed    0.00 sec
      Start 27: gpTestSuite.testGCC42gp_Trsf
27/48 Test #27: gpTestSuite.testGCC42gp_Trsf ....................   Passed    0.00 sec
      Start 28: IGESImportTestSuite.testImportIGES_1
28/48 Test #28: IGESImportTestSuite.testImportIGES_1 ............   Passed    0.53 sec
      Start 29: OCAFExportTestSuite.testExportAscii
29/48 Test #29: OCAFExportTestSuite.testExportAscii .............   Passed    1.07 sec
      Start 30: OCAFExportTestSuite.testExportNonAscii
30/48 Test #30: OCAFExportTestSuite.testExportNonAscii ..........   Passed    0.03 sec
      Start 31: OCAFExportTestSuite.testOverflow
31/48 Test #31: OCAFExportTestSuite.testOverflow ................   Passed    0.02 sec
      Start 32: SortToolsTestSuite.testQuickSortOfInteger
32/48 Test #32: SortToolsTestSuite.testQuickSortOfInteger .......   Passed    0.03 sec
      Start 33: Standard_StdAllocatorTestSuite.testTraits
33/48 Test #33: Standard_StdAllocatorTestSuite.testTraits .......   Passed    0.02 sec
      Start 34: Standard_StdAllocatorTestSuite.testContainers
34/48 Test #34: Standard_StdAllocatorTestSuite.testContainers ...   Passed    0.01 sec
      Start 35: STEPImportTestSuite.testImportAP203_1
35/48 Test #35: STEPImportTestSuite.testImportAP203_1 ...........   Passed    0.49 sec
      Start 36: STEPImportTestSuite.testImportAP203_2
36/48 Test #36: STEPImportTestSuite.testImportAP203_2 ...........   Passed    0.13 sec
      Start 37: STEPImportTestSuite.testImportAP214_1
37/48 Test #37: STEPImportTestSuite.testImportAP214_1 ...........   Passed    0.26 sec
      Start 38: STEPImportTestSuite.testImportAP214_2
38/48 Test #38: STEPImportTestSuite.testImportAP214_2 ...........   Passed    0.07 sec
      Start 39: STEPImportTestSuite.testImportAP214_3
39/48 Test #39: STEPImportTestSuite.testImportAP214_3 ...........   Passed    0.05 sec
      Start 40: TCollectionTestSuite.testSequenceOfPnt
40/48 Test #40: TCollectionTestSuite.testSequenceOfPnt ..........   Passed    0.15 sec
      Start 41: TDataXtdTestSuite.testPattern
41/48 Test #41: TDataXtdTestSuite.testPattern ...................   Passed    0.11 sec
      Start 42: UnitsAPITestSuite.testCurrentUnits
42/48 Test #42: UnitsAPITestSuite.testCurrentUnits ..............   Passed    0.08 sec
      Start 43: UnitsAPITestSuite.testMDTVCurrentUnits
43/48 Test #43: UnitsAPITestSuite.testMDTVCurrentUnits ..........   Passed    0.04 sec
      Start 44: TestSuite.testNullPointer
44/48 Test #44: TestSuite.testNullPointer .......................   Passed    0.02 sec
      Start 45: TestSuite.testFloatEq
45/48 Test #45: TestSuite.testFloatEq ...........................   Passed    0.00 sec
      Start 46: TestSuite.testFloatNeq
46/48 Test #46: TestSuite.testFloatNeq ..........................   Passed    0.00 sec
      Start 47: TestSuite.testBoolean
47/48 Test #47: TestSuite.testBoolean ...........................   Passed    0.00 sec
      Start 48: TestSuite.testIntegerLighter
48/48 Test #48: TestSuite.testIntegerLighter ....................   Passed    0.00 sec

100% tests passed, 0 tests failed out of 48

Total Test time (real) =  13.13 sec

This was on a mbp running mavericks (10.9.3).

Last edited 10 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:2 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Only thing that immediately jumps out at me in the portfile is that you don't need to use destroot.keepdirs for any directory into which you're going to install anything.

comment:3 Changed 10 years ago by mbrethen

Isn't ${destroot}${frameworks_dir} removed after completing the destroot phase, or is post-destroot considered part of the destroot phase? Unless I completly misunderstood the documentation:

"Any empty directories in ${destroot} upon completion of the destroot phase are removed unless a directory name is placed in the value field of the optional destroot.keepdirs keyword."

comment:4 Changed 10 years ago by mbrethen

'file rename' must work similar to the 'mv' command:

mv uses cp(1)
     and rm(1) to accomplish the move.  The effect is equivalent to:

           rm -f destination_path && \
           cp -pRP source_file destination && \
           rm -rf source_file

Last edited 10 years ago by mbrethen (previous) (diff)

Changed 10 years ago by mbrethen

Attachment: Portfile added

Portfile

comment:5 in reply to:  3 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to mark.brethen@…:

Isn't ${destroot}${frameworks_dir} removed after completing the destroot phase, or is post-destroot considered part of the destroot phase? Unless I completly misunderstood the documentation:

"Any empty directories in ${destroot} upon completion of the destroot phase are removed unless a directory name is placed in the value field of the optional destroot.keepdirs keyword."

The post-X procs are considered part of the X phase.

comment:6 in reply to:  4 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to mark.brethen@…:

'file rename' must work similar to the 'mv' command:

Yes, and in MacPorts, you may as well use our alias move instead of the more verbose file rename.

comment:7 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from macports-tickets@… to ryandesign@…
Status: newassigned

comment:8 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

Committed in r122275 with some changes (mostly just whitespace/formatting changes).

Note: See TracTickets for help on using tickets.