Opened 4 years ago

Last modified 2 years ago

#62011 assigned enhancement

opencv3/opencv4: eliminate portfile duplication via subports; simplify via portgroups; streamline python binding generation — at Version 14

Reported by: mascguy (Christopher Nielsen) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: opencv3 opencv4

Description (last modified by mascguy (Christopher Nielsen))

Now that the two OpenCV-related ports have been brought up to parity, there are very few differences between them. Eliminate the portfile duplication, via subports.

Other notable cleanup that will be tackled during the reconciliation:

  • Universal use of github portgroup. Currently used for opencv4, but not for opencv3.
  • Adopt cmake portgroup, to reduce number of CMake flags needed.
  • If supported by OpenCV, streamline Python binding generation: Do so from the built libs, rather than rebuilding entire library.

Change History (14)

comment:1 Changed 4 years ago by mascguy (Christopher Nielsen)

Description: modified (diff)

comment:2 Changed 4 years ago by mascguy (Christopher Nielsen)

Description: modified (diff)

comment:3 Changed 4 years ago by mascguy (Christopher Nielsen)

This will be done in phases, coordinated with reinstatement of OpenCV 2 port (issue:49670):

  1. Add variants missed during opencv/opencv4 reconciliation (opencv +openmp, opencv4 +openni).
  2. Add new port opencv3, segregated like opencv4. Also include initial changes, supporting later conversion to subport.
  3. Update ports presently dependent upon opencv, to use opencv3. And update port opencv to be a stub port, with replaced_by opencv3, etc.
  4. Add new port opencv2, using same segregation strategy, etc.
  5. Reconcile all three into single opencv port, with three subports. This step may be combined with previous.

Thoughts/feedback welcome, as always.

Last edited 4 years ago by mascguy (Christopher Nielsen) (previous) (diff)

comment:5 Changed 4 years ago by Christopher Nielsen <mascguy@…>

In 1a1ad1dde0f1ed1a99f5bf431a30fa7eeaa269d0/macports-ports (master):

opencv3: new port to replace opencv, with opencv4-style isolation

See: #62011
See: #49670

comment:6 Changed 4 years ago by mascguy (Christopher Nielsen)

Description: modified (diff)

comment:7 Changed 4 years ago by Christopher Nielsen <mascguy@…>

In 33d1482c8b63962c23c3d6bc4556833317fff821/macports-ports (master):

opencv: add variant openmp

See: #62011

comment:8 Changed 4 years ago by Christopher Nielsen <mascguy@…>

In 49c839a35e1286a93ca495f13c268708783b4b3e/macports-ports (master):

opencv4: add variant openni

See: #62011

comment:9 Changed 4 years ago by Christopher Nielsen <mascguy@…>

In 7b38728c237c1be013b382640875f03d95d30e6f/macports-ports (master):

opencv/opencv4: variant openmp: implement fully, via compiler.openmp_version

See: #62011

comment:10 Changed 4 years ago by Christopher Nielsen <mascguy@…>

In 9987e0ce91de77778a17587f73061e550365cb1d/macports-ports (master):

opencv3: variant openmp: implement fully, via compiler.openmp_version

See: #62011

comment:11 Changed 4 years ago by mascguy (Christopher Nielsen)

Description: modified (diff)

comment:12 Changed 4 years ago by mascguy (Christopher Nielsen)

Summary: opencv/opencv4: eliminate portfile duplication, via subportopencv/opencv4: eliminate portfile duplication, via subports

comment:13 Changed 4 years ago by mascguy (Christopher Nielsen)

Description: modified (diff)
Port: opencv3 added; opencv removed
Summary: opencv/opencv4: eliminate portfile duplication, via subportsopencv3/opencv4: eliminate portfile duplication via subports; simplify via portgroups;

comment:14 Changed 4 years ago by mascguy (Christopher Nielsen)

Description: modified (diff)
Summary: opencv3/opencv4: eliminate portfile duplication via subports; simplify via portgroups;opencv3/opencv4: eliminate portfile duplication via subports; simplify via portgroups; streamline python binding generation
Note: See TracTickets for help on using tickets.