graphics/frei0r*: Update to 2.3.0 [1]

Split cairo-dependent plugins out into graphics/frei0r-plugins-cairo.

Shift pkg-plist and several variables out into the slave ports for
easier maintainence, including PORTREVISION to facilitate usage of
PORTREVISION bump scripts.

Convert "extra" patches into regular patches for easier future
maintainence.

Ensure optional plugins are the same version as the frei0r base.

https://github.com/dyne/frei0r/releases/tag/v2.3.0

PR:		272045 [1]
Reported by:	Olivier Duchateau <duchateau.olivier@gmail.com> [1]
2023Q3
Jason E. Hale 2023-06-18 14:23:21 -04:00
parent fb1a3b688a
commit c3570df406
17 changed files with 199 additions and 217 deletions

View File

@ -225,6 +225,7 @@
SUBDIR += freetype-gl
SUBDIR += frei0r
SUBDIR += frei0r-plugins
SUBDIR += frei0r-plugins-cairo
SUBDIR += frei0r-plugins-gavl
SUBDIR += frei0r-plugins-opencv
SUBDIR += frogr

View File

@ -0,0 +1,11 @@
PORTREVISION= 0
PKGNAMESUFFIX= -plugins-${SLAVE_PORT:tl}
COMMENT= Frei0r ${SLAVE_PORT} plugins
MASTERDIR= ${.CURDIR}/../frei0r
PLIST= ${.CURDIR}/pkg-plist
SLAVE_PORT= cairo
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,4 @@
lib/frei0r-1/cairoaffineblend.so
lib/frei0r-1/cairoblend.so
lib/frei0r-1/cairogradient.so
lib/frei0r-1/cairoimagegrid.so

View File

@ -1,5 +1,11 @@
MASTERDIR= ${.CURDIR}/../frei0r
PORTREVISION= 0
PKGNAMESUFFIX= -plugins-${SLAVE_PORT:tl}
BUILDING_FREI0R_GAVL= yes
COMMENT= Frei0r ${SLAVE_PORT} plugins
MASTERDIR= ${.CURDIR}/../frei0r
PLIST= ${.CURDIR}/pkg-plist
SLAVE_PORT= gavl
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,3 @@
lib/frei0r-1/rgbparade.so
lib/frei0r-1/scale0tilt.so
lib/frei0r-1/vectorscope.so

View File

@ -1,5 +1,11 @@
MASTERDIR= ${.CURDIR}/../frei0r
PORTREVISION= 0
PKGNAMESUFFIX= -plugins-${SLAVE_PORT:tl}
BUILDING_FREI0R_OPENCV= yes
COMMENT= Frei0r ${SLAVE_PORT} plugins
MASTERDIR= ${.CURDIR}/../frei0r
PLIST= ${.CURDIR}/pkg-plist
SLAVE_PORT= OpenCV
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,2 @@
lib/frei0r-1/facebl0r.so
lib/frei0r-1/facedetect.so

View File

@ -1,23 +1,27 @@
PORTNAME= frei0r
PORTVERSION= ${FREI0R_VERSION}
CATEGORIES= graphics
PKGNAMESUFFIX= -plugins
COMMENT= Frei0r meta-port
MAINTAINER= jhale@FreeBSD.org
COMMENT= The "meta-port" for frei0r and additional plugins
WWW= https://frei0r.dyne.org/
RUN_DEPENDS= ${LOCALBASE}/include/frei0r.h:graphics/frei0r
RUN_DEPENDS= frei0r>=${FREI0R_VERSION}:graphics/frei0r
USES= metaport
USES= metaport
MASTERDIR= ${.CURDIR}/../frei0r
PLIST= ${WRKDIR}/PLIST
DESCR= ${.CURDIR}/../frei0r/pkg-descr
BUILDING_FREI0R_METAPORT= yes
OPTIONS_DEFINE= CAIRO GAVL OPENCV
OPTIONS_DEFAULT= CAIRO GAVL OPENCV
OPTIONS_DEFINE= GAVL OPENCV
OPTIONS_DEFAULT= GAVL OPENCV
GAVL_DESC= Install gavl plugins
GAVL_RUN_DEPENDS= ${LOCALBASE}/lib/frei0r-1/rgbparade.so:graphics/frei0r-plugins-gavl
OPENCV_DESC= Install OpenCV plugins
OPENCV_RUN_DEPENDS= ${LOCALBASE}/lib/frei0r-1/facedetect.so:graphics/frei0r-plugins-opencv
.include "${MASTERDIR}/Makefile"
CAIRO_DESC= Install cairo plugins
CAIRO_RUN_DEPENDS= frei0r-plugins-cairo>=${FREI0R_VERSION}:graphics/frei0r-plugins-cairo
GAVL_DESC= Install gavl plugins
GAVL_RUN_DEPENDS= frei0r-plugins-gavl>=${FREI0R_VERSION}:graphics/frei0r-plugins-gavl
OPENCV_DESC= Install OpenCV plugins
OPENCV_RUN_DEPENDS= frei0r-plugins-opencv>=${FREI0R_VERSION}:graphics/frei0r-plugins-opencv
.include "${.CURDIR}/../frei0r/version.mk"
.include <bsd.port.mk>

View File

@ -1,68 +1,50 @@
PORTNAME= frei0r
PORTVERSION= 1.8.0
DISTVERSIONPREFIX= plugins-
PORTREVISION?= 1
DISTVERSIONPREFIX= v
DISTVERSION= ${FREI0R_VERSION}
PORTREVISION?= 0
CATEGORIES= graphics
MASTER_SITES?= https://files.dyne.org/frei0r/releases/
MAINTAINER= jhale@FreeBSD.org
COMMENT?= Minimalistic plugin API for video effects
WWW= https://frei0r.dyne.org/
.if !defined(BUILDING_FREI0R_METAPORT)
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING.txt
LICENSE_FILE= ${WRKSRC}/COPYING
USES= cmake compiler:c++11-lang pkgconfig
USE_GITHUB= yes
GH_ACCOUNT= dyne
.if defined(BUILDING_FREI0R_OPENCV) && defined(BUILDING_FREI0R_GAVL)
IGNORE= cannot build OpenCV and gavl plugins simultaneously
.endif
.if defined(BUILDING_FREI0R_OPENCV) || defined(BUILDING_FREI0R_GAVL)
EXTRA_PATCHES= ${PATCHDIR}/extra-patch-frei0r-plugins
USES+= localbase
.endif
.if defined(BUILDING_FREI0R_OPENCV)
PORTREVISION= 0
COMMENT= Frei0r OpenCV plugins
PKGNAMESUFFIX= -plugins-opencv
LIB_DEPENDS+= libopencv_core.so:graphics/opencv \
libopencv_video.so:graphics/opencv
FREI0R_PLUGINS= facebl0r facedetect
CMAKE_ARGS+= -DWITHOUT_OPENCV:BOOL=OFF \
-DWITHOUT_GAVL:BOOL=ON
.elif defined(BUILDING_FREI0R_GAVL)
PORTREVISION= 0
COMMENT= Frei0r gavl plugins
PKGNAMESUFFIX= -plugins-gavl
LIB_DEPENDS+= libgavl.so:multimedia/gavl
FREI0R_PLUGINS= rgbparade scale0tilt vectorscope
CMAKE_ARGS+= -DWITHOUT_OPENCV:BOOL=ON \
-DWITHOUT_GAVL:BOOL=OFF
.else
EXTRA_PATCHES= ${PATCHDIR}/extra-patch-CMakeLists.txt
.if defined(SLAVE_PORT)
RUN_DEPENDS= frei0r>=${FREI0R_VERSION}:graphics/frei0r
. if ${SLAVE_PORT:tl} == "cairo"
USES+= gnome
USE_GNOME= cairo
USE_GNOME+= cairo
CMAKE_ARGS+= -DWITHOUT_OPENCV:BOOL=ON \
-DWITHOUT_GAVL:BOOL=ON
CMAKE_ON= WITHOUT_GAVL \
WITHOUT_OPENCV
CMAKE_OFF= WITHOUT_CAIRO
. elif ${SLAVE_PORT:tl} == "gavl"
LIB_DEPENDS+= libgavl.so:multimedia/gavl
.endif # !defined(BUILDING_FREI0R_OPENCV) && !defined(BUILDING_FREI0R_GAVL)
CMAKE_ON= WITHOUT_CAIRO \
WITHOUT_OPENCV
CMAKE_OFF= WITHOUT_GAVL
. elif ${SLAVE_PORT:tl} == "opencv"
LIB_DEPENDS+= libopencv_core.so:graphics/opencv
.if defined(FREI0R_PLUGINS)
PLIST= ${WRKSRC}/PLIST
. for FILE in ${FREI0R_PLUGINS}
PLIST_FILES+= lib/frei0r-1/${FILE}.so
. endfor
CMAKE_ON= WITHOUT_CAIRO \
WITHOUT_GAVL
CMAKE_OFF= WITHOUT_OPENCV
. endif
.else
CMAKE_ON= WITHOUT_CAIRO \
WITHOUT_GAVL \
WITHOUT_OPENCV
CMAKE_OFF= BUILD_EXTRA_PLUGINS
.endif
.include "version.mk"
.include <bsd.port.pre.mk>
.if ${CHOSEN_COMPILER_TYPE} == gcc
@ -73,5 +55,3 @@ CXXFLAGS+= -Wno-error
.endif
.include <bsd.port.post.mk>
.endif # !defined(BUILDING_FREI0R_METAPORT)

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1648552795
SHA256 (frei0r-plugins-1.8.0.tar.gz) = 45a28655caf057227b442b800ca3899e93490515c81e212d219fdf4a7613f5c4
SIZE (frei0r-plugins-1.8.0.tar.gz) = 823119
TIMESTAMP = 1685672354
SHA256 (dyne-frei0r-v2.3.0_GH0.tar.gz) = 00aa65a887445c806b2a467abc3ccc4b0855f7eaf38ed2011a1ff41e74844fa0
SIZE (dyne-frei0r-v2.3.0_GH0.tar.gz) = 820018

View File

@ -1,17 +0,0 @@
--- CMakeLists.txt.orig 2019-12-06 16:20:37 UTC
+++ CMakeLists.txt
@@ -41,7 +41,7 @@ INCLUDE( cmake/modules/TargetDistclean.cmake OPTIONAL)
# See this thread for a ridiculous discussion about the simple question how to install a header file with CMake: http://www.cmake.org/pipermail/cmake/2009-October/032874.html
install (DIRECTORY include DESTINATION . FILES_MATCHING PATTERN "frei0r.h" PATTERN "msvc" EXCLUDE)
-add_subdirectory (doc)
+#add_subdirectory (doc)
add_subdirectory (src)
# Generate frei0r.pc and install it.
@@ -50,4 +50,4 @@ set (exec_prefix "${CMAKE_INSTALL_PREFIX}")
set (libdir "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
set (includedir "${CMAKE_INSTALL_PREFIX}/include")
configure_file ("frei0r.pc.in" "frei0r.pc" @ONLY)
-install (FILES "${CMAKE_CURRENT_BINARY_DIR}/frei0r.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+install (FILES "${CMAKE_CURRENT_BINARY_DIR}/frei0r.pc" DESTINATION libdata/pkgconfig)

View File

@ -1,125 +0,0 @@
--- CMakeLists.txt.orig 2020-12-09 06:02:41 UTC
+++ CMakeLists.txt
@@ -11,8 +11,6 @@ if (NOT WITHOUT_OPENCV)
find_package (OpenCV)
endif ()
-find_package (Cairo)
-
include(FindPkgConfig)
option (WITHOUT_GAVL "Disable plugins dependent upon gavl" OFF)
if (PKG_CONFIG_FOUND AND NOT WITHOUT_GAVL)
@@ -38,16 +36,8 @@ set (FREI0R_1_1_DEF "${CMAKE_SOURCE_DIR}/msvc/frei0r_1
# --- custom targets: ---
INCLUDE( cmake/modules/TargetDistclean.cmake OPTIONAL)
-# See this thread for a ridiculous discussion about the simple question how to install a header file with CMake: http://www.cmake.org/pipermail/cmake/2009-October/032874.html
-install (DIRECTORY include DESTINATION . FILES_MATCHING PATTERN "frei0r.h" PATTERN "msvc" EXCLUDE)
+add_subdirectory (src/filter)
-add_subdirectory (doc)
-add_subdirectory (src)
-
-# Generate frei0r.pc and install it.
set (prefix "${CMAKE_INSTALL_PREFIX}")
set (exec_prefix "${CMAKE_INSTALL_PREFIX}")
set (libdir "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
-set (includedir "${CMAKE_INSTALL_PREFIX}/include")
-configure_file ("frei0r.pc.in" "frei0r.pc" @ONLY)
-install (FILES "${CMAKE_CURRENT_BINARY_DIR}/frei0r.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
--- src/filter/CMakeLists.txt.orig 2020-12-09 06:02:41 UTC
+++ src/filter/CMakeLists.txt
@@ -8,93 +8,3 @@ if (${OpenCV_FOUND})
add_subdirectory (facebl0r)
add_subdirectory (facedetect)
endif (${OpenCV_FOUND})
-
-if (${Cairo_FOUND})
- add_subdirectory (cairoimagegrid)
- add_subdirectory (cairogradient)
-endif (${Cairo_FOUND})
-
-add_subdirectory (3dflippo)
-add_subdirectory (aech0r)
-add_subdirectory (alpha0ps)
-add_subdirectory (balanc0r)
-add_subdirectory (baltan)
-add_subdirectory (bluescreen0r)
-add_subdirectory (bgsubtract0r)
-add_subdirectory (blur)
-add_subdirectory (brightness)
-add_subdirectory (bw0r)
-add_subdirectory (cartoon)
-add_subdirectory (cluster)
-add_subdirectory (colgate)
-add_subdirectory (coloradj)
-add_subdirectory (colordistance)
-add_subdirectory (colorize)
-add_subdirectory (colorhalftone)
-add_subdirectory (colortap)
-add_subdirectory (contrast0r)
-add_subdirectory (c0rners)
-add_subdirectory (curves)
-add_subdirectory (d90stairsteppingfix)
-add_subdirectory (defish0r)
-add_subdirectory (delay0r)
-add_subdirectory (delaygrab)
-add_subdirectory (denoise)
-add_subdirectory (distort0r)
-add_subdirectory (dither)
-add_subdirectory (edgeglow)
-add_subdirectory (elastic_scale)
-add_subdirectory (emboss)
-add_subdirectory (equaliz0r)
-add_subdirectory (flippo)
-add_subdirectory (gamma)
-add_subdirectory (glow)
-add_subdirectory (glitch0r)
-#add_subdirectory (host_param_test)
-add_subdirectory (hueshift0r)
-add_subdirectory (invert0r)
-add_subdirectory (keyspillm0pup)
-add_subdirectory (lenscorrection)
-add_subdirectory (letterb0xed)
-add_subdirectory (levels)
-add_subdirectory (lightgraffiti)
-add_subdirectory (luminance)
-add_subdirectory (mask0mate)
-add_subdirectory (medians)
-if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
- # clang 3.1 on OSX fails to compile this one
- add_subdirectory (measure)
-endif ()
-add_subdirectory (ndvi)
-add_subdirectory (nervous)
-add_subdirectory (normaliz0r)
-add_subdirectory (nosync0r)
-add_subdirectory (perspective)
-add_subdirectory (pixeliz0r)
-add_subdirectory (posterize)
-add_subdirectory (premultiply)
-add_subdirectory (primaries)
-add_subdirectory (RGB)
-add_subdirectory (rgbnoise)
-add_subdirectory (rgbsplit0r)
-add_subdirectory (saturat0r)
-add_subdirectory (scanline0r)
-add_subdirectory (select0r)
-add_subdirectory (sharpness)
-add_subdirectory (sigmoidaltransfer)
-add_subdirectory (sobel)
-add_subdirectory (softglow)
-add_subdirectory (sopsat)
-add_subdirectory (spillsupress)
-add_subdirectory (squareblur)
-add_subdirectory (tehroxx0r)
-add_subdirectory (three_point_balance)
-add_subdirectory (threelay0r)
-add_subdirectory (threshold0r)
-add_subdirectory (timeout)
-add_subdirectory (tint0r)
-add_subdirectory (transparency)
-add_subdirectory (tutorial)
-add_subdirectory (twolay0r)
-add_subdirectory (vertigo)
-add_subdirectory (vignette)

View File

@ -0,0 +1,59 @@
- Fix VERSION.
- Make plugins dependent upon cairo optional.
- Add logic so slave ports can build without installing base files or plugins.
--- CMakeLists.txt.orig 2023-05-17 21:20:20 UTC
+++ CMakeLists.txt
@@ -3,16 +3,21 @@ project (frei0r)
list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
project (frei0r)
-set (VERSION 1.8)
+set (VERSION 2.3)
include(GNUInstallDirs)
+option (BUILD_EXTRA_PLUGINS "Build plugins with optional dependencies" ON)
+
option (WITHOUT_OPENCV "Disable plugins dependent upon OpenCV" OFF)
if (NOT WITHOUT_OPENCV)
find_package (OpenCV)
endif ()
-find_package (Cairo)
+option (WITHOUT_CAIRO "Disable plugins dependent upon cairo" OFF)
+if (NOT WITHOUT_CAIRO)
+ find_package (Cairo)
+endif ()
include(FindPkgConfig)
option (WITHOUT_GAVL "Disable plugins dependent upon gavl" OFF)
@@ -35,16 +40,22 @@ INCLUDE( cmake/modules/TargetDistclean.cmake OPTIONAL)
# --- custom targets: ---
INCLUDE( cmake/modules/TargetDistclean.cmake OPTIONAL)
-# See this thread for a ridiculous discussion about the simple question how to install a header file with CMake: http://www.cmake.org/pipermail/cmake/2009-October/032874.html
-install (DIRECTORY include DESTINATION . FILES_MATCHING PATTERN "frei0r.h" PATTERN "msvc" EXCLUDE)
+if (NOT BUILD_EXTRA_PLUGINS)
+ # See this thread for a ridiculous discussion about the simple question how to install a header file with CMake: http://www.cmake.org/pipermail/cmake/2009-October/032874.html
+ install (DIRECTORY include DESTINATION . FILES_MATCHING PATTERN "frei0r.h" PATTERN "msvc" EXCLUDE)
-add_subdirectory (doc)
-add_subdirectory (src)
+ add_subdirectory (src)
+else ()
+ add_subdirectory (src/filter)
+ add_subdirectory (src/mixer2)
+endif ()
# Generate frei0r.pc and install it.
set (prefix "${CMAKE_INSTALL_PREFIX}")
set (exec_prefix "${CMAKE_INSTALL_PREFIX}")
set (libdir "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
set (includedir "${CMAKE_INSTALL_PREFIX}/include")
-configure_file ("frei0r.pc.in" "frei0r.pc" @ONLY)
-install (FILES "${CMAKE_CURRENT_BINARY_DIR}/frei0r.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+if (NOT BUILD_EXTRA_PLUGINS)
+ configure_file ("frei0r.pc.in" "frei0r.pc" @ONLY)
+ install (FILES "${CMAKE_CURRENT_BINARY_DIR}/frei0r.pc" DESTINATION "libdata/pkgconfig")
+endif ()

View File

@ -0,0 +1,17 @@
- Add logic so slave ports can build without installing base plugins.
--- src/filter/CMakeLists.txt.orig 2023-01-14 18:22:37 UTC
+++ src/filter/CMakeLists.txt
@@ -14,6 +14,7 @@ endif (${Cairo_FOUND})
add_subdirectory (cairogradient)
endif (${Cairo_FOUND})
+if (NOT BUILD_EXTRA_PLUGINS)
add_subdirectory (3dflippo)
add_subdirectory (aech0r)
add_subdirectory (alpha0ps)
@@ -96,3 +97,4 @@ add_subdirectory (vignette)
add_subdirectory (twolay0r)
add_subdirectory (vertigo)
add_subdirectory (vignette)
+endif ()

View File

@ -0,0 +1,17 @@
- Add logic so slave ports can build without installing base plugins.
--- src/mixer2/CMakeLists.txt.orig 2023-01-14 18:47:26 UTC
+++ src/mixer2/CMakeLists.txt
@@ -3,6 +3,7 @@ endif (${Cairo_FOUND})
add_subdirectory (cairoblend)
endif (${Cairo_FOUND})
+if (NOT BUILD_EXTRA_PLUGINS)
add_subdirectory (addition)
add_subdirectory (addition_alpha)
add_subdirectory (alphaatop)
@@ -34,3 +35,4 @@ add_subdirectory (sleid0r)
add_subdirectory (value)
add_subdirectory (xfade0r)
add_subdirectory (sleid0r)
+endif ()

View File

@ -26,10 +26,6 @@ lib/frei0r-1/brightness.so
lib/frei0r-1/burn.so
lib/frei0r-1/bw0r.so
lib/frei0r-1/c0rners.so
lib/frei0r-1/cairoaffineblend.so
lib/frei0r-1/cairoblend.so
lib/frei0r-1/cairogradient.so
lib/frei0r-1/cairoimagegrid.so
lib/frei0r-1/cartoon.so
lib/frei0r-1/cluster.so
lib/frei0r-1/colgate.so
@ -89,6 +85,7 @@ lib/frei0r-1/overlay.so
lib/frei0r-1/partik0l.so
lib/frei0r-1/perspective.so
lib/frei0r-1/pixeliz0r.so
lib/frei0r-1/pixs0r.so
lib/frei0r-1/plasma.so
lib/frei0r-1/posterize.so
lib/frei0r-1/pr0be.so
@ -104,6 +101,22 @@ lib/frei0r-1/screen.so
lib/frei0r-1/select0r.so
lib/frei0r-1/sharpness.so
lib/frei0r-1/sigmoidaltransfer.so
lib/frei0r-1/sleid0r_push-down.so
lib/frei0r-1/sleid0r_push-left.so
lib/frei0r-1/sleid0r_push-right.so
lib/frei0r-1/sleid0r_push-up.so
lib/frei0r-1/sleid0r_slide-down.so
lib/frei0r-1/sleid0r_slide-left.so
lib/frei0r-1/sleid0r_slide-right.so
lib/frei0r-1/sleid0r_slide-up.so
lib/frei0r-1/sleid0r_wipe-barn-door-h.so
lib/frei0r-1/sleid0r_wipe-barn-door-v.so
lib/frei0r-1/sleid0r_wipe-circle.so
lib/frei0r-1/sleid0r_wipe-down.so
lib/frei0r-1/sleid0r_wipe-left.so
lib/frei0r-1/sleid0r_wipe-rect.so
lib/frei0r-1/sleid0r_wipe-right.so
lib/frei0r-1/sleid0r_wipe-up.so
lib/frei0r-1/sobel.so
lib/frei0r-1/softglow.so
lib/frei0r-1/softlight.so

View File

@ -0,0 +1 @@
FREI0R_VERSION= 2.3.0