freebsd-ports/graphics/pfstools/Makefile
Tobias C. Berner 7a09f7fbc2 graphics/opencv: update to 4.5.1 -- and make port more easily maintainable
This is a major upgrade from 3.x to 4.x.

Changelog from versions 3.4.1--4.5.1 can be found here:
    https://github.com/opencv/opencv/wiki/ChangeLog

Note: this has explicitely not been added as a new graphics/opencv4 port, but replaces the
      previous graphics/opencv[3] port. Again, to improve maintainability by not giving ports
      the option to pick the "wrong one" - this leads however to some abandoned ports being
      broken.

The port has been greatly simplified:
    * graphics/opencv-core which existed to enable ffmpeg to depend on opencv, and vice versa
      has been removed. ffmpeg no longer can depend on opencv.
    * graphics/py-opencv has been integrated into graphics/opencv, the default versions python
      bindings will be built unless the PYTHON option is explicitely turned off.
    * graphics/opencv-java has been integrated into graphics/opencv -- it is off by default,
      but can be enabled by toggling the JAVA option -- there are no consumers in the tree,
      so that option might go away in the future.
    * All the previous options have been removed and replaced by a (hopefully) sane set of
      dependencies that make the port and package most usable for the majority of consumers.
      - Please let me know if you think there are better defaults (i.e. anything that is missing,
        or something that should not be dependet on).
      - If you think something should be added or removed, please open a bug report.
      - If you think something should be added as an optional dependency, please open a
        bug report (with a good reason [tm]).

The depending ports have been updated to work against opencv4, or marked broken.
    * Ports broken:
      - graphics/rubygem-objectdetect: OpenCV4 no longer ships opencv-1.0 API
      - graphics/p5-Image-ObjectDetect: OpenCV4 no longer ships opencv-1.0 API
      - graphics/gimp-gmic-plugin: OpenCV4 no longer ships opencv-1.0 API
    * Backports:
      - misc/visp: dfa7e4bd47
      - multimedia/zart: 6ca1964690,
                         d3a2931b1a
    * Others:
      - misc/actiona: switch to pkgconfig 'opencv4'
      - multimedia/libav: drop opencv support
      - misc/darknet: already failed to build prior to the upgrade
      - math/saga: remove patching added to work against opencv3
2021-01-30 18:08:56 +00:00

114 lines
3.1 KiB
Makefile

# Created by: Daniel O'Connor <darius@dons.net.au>
# $FreeBSD$
PORTNAME= pfstools
DISTVERSION= 2.1.0
PORTREVISION= 7
CATEGORIES= graphics
MASTER_SITES= SF
MAINTAINER= fbsd@any.com.ru
COMMENT= Tools for manipulating HDR images and video frames
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/COPYING
RUN_DEPENDS= bash:shells/bash
CONFLICTS= pfstmo-1.* pfscalibration-1.*
LDFLAGS+= -lthr
USES= cmake tar:tgz dos2unix jpeg perl5
USE_PERL5= run
USE_LDCONFIG= yes
CMAKE_ARGS= -DBUILD_SHARED_LIBS=ON \
-DWITH_MATLAB=OFF \
-DBASH_EXECUTABLE:STRING=${LOCALBASE}/bin/bash \
-DPERL_EXECUTABLE:STRING=${PERL}
DOS2UNIX_GLOB= *.txt *.cmake \
*.h *.c *.cpp \
*.1
MANCOMPRESSED= yes
OPTIONS_DEFINE= TIFF OPENEXR IMAGEMAGICK NETPBM \
OCTAVE FFTW GSL \
ALIGN GLVIEW VIEW \
OPENMP
OPTIONS_DEFAULT= TIFF FFTW GSL
NO_OPTIONS_SORT= yes
OPTIONS_SUB= yes
OCTAVE_DESC= Compile octave interface functions
GSL_DESC= Use Gnu Scientific Libarary required for some TMOs
ALIGN_DESC= Compile pfsalign, requires OpenCV w/NONFREE and libexif
VIEW_DESC= Compile pfsview, requires QT5
GLVIEW_DESC= Compile pfsglview, requires GLUT
TIFF_CMAKE_BOOL= WITH_TIFF
TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff
OPENEXR_CMAKE_BOOL= WITH_OpenEXR
OPENEXR_LIB_DEPENDS= libIlmImf.so:graphics/openexr \
libIex.so:graphics/ilmbase
IMAGEMAGICK_CMAKE_BOOL= WITH_ImageMagick
IMAGEMAGICK_LIB_DEPENDS= libMagick++-6.so:graphics/ImageMagick6
NETPBM_CMAKE_BOOL= WITH_NetPBM
NETPBM_LIB_DEPENDS= libnetpbm.so:graphics/netpbm
NETPBM_IMPLIES= TIFF
OCTAVE_CMAKE_BOOL= WITH_Octave
OCTAVE_PATCH_DEPENDS= octave-config:math/octave
OCTAVE_BUILD_DEPENDS= mkoctfile:math/octave
OCTAVE_RUN_DEPENDS= octave:math/octave
OCTAVE_USES= shebangfix
OCTAVE_CXXFLAGS= -std=c++11
FFTW_CMAKE_BOOL= WITH_FFTW
FFTW_CMAKE_ON= -DFFTW_INCLUDE_DIRS=${LOCALBASE}/include
FFTW_LIB_DEPENDS= libfftw3.so:math/fftw3 \
libfftw3f.so:math/fftw3-float
GSL_CMAKE_BOOL= WITH_GSL
GSL_LIB_DEPENDS= libgsl.so:math/gsl
ALIGN_CMAKE_BOOL= WITH_OpenCV # requires NONFREE=on which isn't a default
ALIGN_LIB_DEPENDS= libopencv_nonfree.so:graphics/opencv \
libexif.so:graphics/libexif
GLVIEW_CMAKE_BOOL= WITH_pfsglview
GLVIEW_CMAKE_ON= -DGLUT_INCLUDE_DIRS=${LOCALBASE}/include
GLVIEW_USES= gl
GLVIEW_USE= GL=glut GL=gl,glu
VIEW_CMAKE_BOOL= WITH_QT
VIEW_USES= gl qt:5
VIEW_USE= GL=glut GL=gl,glu QT=core,gui,widgets,buildtools_build,qmake_build
OPENMP_USES= compiler:openmp
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MIMAGEMAGICK} && !${PORT_OPTIONS:MOPENMP}
USES+= compiler:c++11-lib
.endif
.if ${PORT_OPTIONS:MOCTAVE}
OCTAVE_BASE?= ${LOCALBASE}
OCTAVE_VERSION!=${OCTAVE_BASE}/bin/octave-config -v 2>&1 || ${ECHO} "0"
OCTAVE_SITE_OCT!=${OCTAVE_BASE}/bin/octave-config --oct-site-dir 2>&1 || ${ECHO} ""
OCTAVE_SITE_M!= ${OCTAVE_BASE}/bin/octave-config --m-site-dir 2>&1 || ${ECHO} ""
PLIST_SUB= OCTAVE_BASE=${OCTAVE_BASE} \
OCTAVE_SITE_M=${OCTAVE_SITE_M:S|^${OCTAVE_BASE}/||} \
OCTAVE_SITE_OCT=${OCTAVE_SITE_OCT:S|^${OCTAVE_BASE}/||}
SHEBANG_FILES= src/octave/pfs*
SHEBANG_LANG= octave
octave_OLD_CMD?=/usr/bin/octave
octave_CMD?= ${OCTAVE_BASE}/bin/octave-cli
.endif
.include <bsd.port.mk>