git: 07270c2f7156 - main - graphics/natron: New port: Video compositing software
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 22 Dec 2024 18:08:22 UTC
The branch main has been updated by vvd:
URL: https://cgit.FreeBSD.org/ports/commit/?id=07270c2f715607adf7fec5b4a2bd0625a16586a3
commit 07270c2f715607adf7fec5b4a2bd0625a16586a3
Author: Martin Filla <freebsd@sysctl.cz>
AuthorDate: 2024-12-22 18:05:27 +0000
Commit: Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2024-12-22 18:05:27 +0000
graphics/natron: New port: Video compositing software
Natron is a free, open-source (GPLv2 license) video compositor, similar
in functionality to Adobe After Effects, Foundry's Nuke, or Blackmagic
Fusion.
https://github.com/NatronGitHub/Natron
https://www.natron.fr
PR: 282802
---
graphics/Makefile | 1 +
graphics/natron/Makefile | 64 +++++++++++++++++++++++
graphics/natron/distinfo | 17 ++++++
graphics/natron/files/patch-Engine_CMakeLists.txt | 22 ++++++++
graphics/natron/pkg-descr | 2 +
graphics/natron/pkg-plist | 8 +++
6 files changed, 114 insertions(+)
diff --git a/graphics/Makefile b/graphics/Makefile
index 46dc71554900..dee02183a60b 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -611,6 +611,7 @@
SUBDIR += mypaint-brushes2
SUBDIR += nanort
SUBDIR += nanosvg
+ SUBDIR += natron
SUBDIR += netpbm
SUBDIR += nip2
SUBDIR += noaa-apt
diff --git a/graphics/natron/Makefile b/graphics/natron/Makefile
new file mode 100644
index 000000000000..9ded1921888c
--- /dev/null
+++ b/graphics/natron/Makefile
@@ -0,0 +1,64 @@
+PORTNAME= natron
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.5.1-pre2
+CATEGORIES= graphics
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= freebsd@sysctl.cz
+COMMENT= Compositing software Video
+WWW= https://www.natron.fr/
+
+LICENSE= GPLv2
+
+BUILD_DEPENDS= bash:shells/bash \
+ gsed:textproc/gsed
+
+LIB_DEPENDS= libboost_serialization.so:devel/boost-libs \
+ libboost_system.so:devel/boost-libs \
+ libcairo.so:graphics/cairo \
+ libexpat.so:textproc/expat2 \
+ libfontconfig.so:x11-fonts/fontconfig \
+ libfreetype.so:print/freetype2 \
+ libpyside2.cpython-${PYTHON_SUFFIX}${PYTHON_ABIVER}.so:devel/pyside2@${PY_FLAVOR} \
+ libshiboken2.cpython-${PYTHON_SUFFIX}${PYTHON_ABIVER}.so:devel/shiboken2@${PY_FLAVOR}
+
+RUN_DEPENDS= ${LOCALBASE}/OFX/Plugins/Shadertoy.ofx.bundle/Contents/Info.plist:graphics/openfx-misc \
+ ${LOCALBASE}/OFX/Plugins/Arena.ofx.bundle/Contents/Info.plist:graphics/openfx-arena \
+ ffmpeg>0:multimedia/ffmpeg
+
+USES= cmake compiler:c++17-lang desktop-file-utils pkgconfig python \
+ qt:5 shared-mime-info shebangfix xorg
+
+USE_GITHUB= yes
+GH_ACCOUNT= NatronGitHub
+GH_PROJECT= Natron
+GH_TUPLE= NatronGitHub:google-breakpad:9474c3f7f9939391f281d46c42bfe20cc0f0abd9:google_breakpad/libs/google-breakpad \
+ NatronGitHub:google-mock:17945db42c0b42496b2f3c6530307979f2e2a5ce:google_mock/Tests/google-mock \
+ NatronGitHub:google-test:50d6fc317c843a2e40dbf08c2efd3f068801ae6d:google_test/Tests/google-test \
+ NatronGitHub:OpenColorIO-Configs:557b981:OpenColorIO_Configs/OpenColorIO-Configs \
+ NatronGitHub:openfx:0759758d0fb57932b5c4698fff9ef6b4a3132309:openfx/libs/OpenFX \
+ NatronGitHub:SequenceParsing:3c93fcc488632b0bdfeee3181586809932357598:SequenceParsing/libs/SequenceParsing \
+ NatronGitHub:tinydir:3aae922:tinydir/libs/SequenceParsing/tinydir
+
+USE_PYTHON= flavors
+USE_QT= concurrent core gui network widgets buildtools:build qmake:build
+USE_XORG= ice pixman sm x11 xext
+
+SHEBANG_FILES= OpenColorIO-Configs/nuke-default/make.py
+
+BINARY_ALIAS= python-config=python${PYTHON_VER}-config \
+ python=python${PYTHON_VER} \
+ sed=gsed
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|/usr/OFX/Plugins|${PREFIX}/OFX/Plugins|g' \
+ ${WRKSRC}/libs/OpenFX/Examples/Makefile.master \
+ ${WRKSRC}/libs/OpenFX/Support/Plugins/Makefile.master \
+ ${WRKSRC}/libs/OpenFX/HostSupport/src/ofxhPluginCache.cpp \
+ ${WRKSRC}/Engine/Settings.cpp
+ @${REINPLACE_CMD} -e 's|/usr/share/|${PREFIX}/share/|g' \
+ ${WRKSRC}/Engine/AppManager.cpp \
+ ${WRKSRC}/Engine/Settings.cpp \
+ ${WRKSRC}/Natron.spec
+
+.include <bsd.port.mk>
diff --git a/graphics/natron/distinfo b/graphics/natron/distinfo
new file mode 100644
index 000000000000..a6bfd831759c
--- /dev/null
+++ b/graphics/natron/distinfo
@@ -0,0 +1,17 @@
+TIMESTAMP = 1731608910
+SHA256 (NatronGitHub-Natron-v2.5.1-pre2_GH0.tar.gz) = ef17cbd89fd6c8c89caec9a9681763a13ab1e4ccf40ed34e31bf0ed4d7d6a916
+SIZE (NatronGitHub-Natron-v2.5.1-pre2_GH0.tar.gz) = 31486167
+SHA256 (NatronGitHub-google-breakpad-9474c3f7f9939391f281d46c42bfe20cc0f0abd9_GH0.tar.gz) = d2f22ce15aec2efd085e2ea1317ca2a5773e7faaa0aff297b0f2f4839a439f2d
+SIZE (NatronGitHub-google-breakpad-9474c3f7f9939391f281d46c42bfe20cc0f0abd9_GH0.tar.gz) = 4891139
+SHA256 (NatronGitHub-google-mock-17945db42c0b42496b2f3c6530307979f2e2a5ce_GH0.tar.gz) = 25c9f97ca781e8e50e653c1d4638e90718a8aaa5341423b3ef889c5e4c59ee03
+SIZE (NatronGitHub-google-mock-17945db42c0b42496b2f3c6530307979f2e2a5ce_GH0.tar.gz) = 299646
+SHA256 (NatronGitHub-google-test-50d6fc317c843a2e40dbf08c2efd3f068801ae6d_GH0.tar.gz) = ed7ae95f3f6b810dd74202e78d40cf0f076ebd6f1a76da71f3c8bdb94fb07c03
+SIZE (NatronGitHub-google-test-50d6fc317c843a2e40dbf08c2efd3f068801ae6d_GH0.tar.gz) = 474810
+SHA256 (NatronGitHub-OpenColorIO-Configs-557b981_GH0.tar.gz) = 5fc2456c5be991f5508715b28ef9b2ee05aacef83a68ce8f9722129ed4291ccc
+SIZE (NatronGitHub-OpenColorIO-Configs-557b981_GH0.tar.gz) = 292560783
+SHA256 (NatronGitHub-openfx-0759758d0fb57932b5c4698fff9ef6b4a3132309_GH0.tar.gz) = 8b9935fac81be1ceb2d632135748c9a1b22a37b873c18022e09a637a3a00918b
+SIZE (NatronGitHub-openfx-0759758d0fb57932b5c4698fff9ef6b4a3132309_GH0.tar.gz) = 10707420
+SHA256 (NatronGitHub-SequenceParsing-3c93fcc488632b0bdfeee3181586809932357598_GH0.tar.gz) = b3a2db99901e3edaadb301c91f845db832559ad3c003a13d45e74b6816d2f67f
+SIZE (NatronGitHub-SequenceParsing-3c93fcc488632b0bdfeee3181586809932357598_GH0.tar.gz) = 16064
+SHA256 (NatronGitHub-tinydir-3aae922_GH0.tar.gz) = eb816fff00d9713742a1f1367432fee0ea73ccb0f458c90035543e923e8e55d1
+SIZE (NatronGitHub-tinydir-3aae922_GH0.tar.gz) = 24552
diff --git a/graphics/natron/files/patch-Engine_CMakeLists.txt b/graphics/natron/files/patch-Engine_CMakeLists.txt
new file mode 100644
index 000000000000..0057dc5b4a1b
--- /dev/null
+++ b/graphics/natron/files/patch-Engine_CMakeLists.txt
@@ -0,0 +1,22 @@
+--- Engine/CMakeLists.txt.orig 2024-09-13 07:39:11 UTC
++++ Engine/CMakeLists.txt
+@@ -74,12 +74,17 @@ add_library(NatronEngine STATIC ${NatronEngine_HEADERS
+ ../libs/SequenceParsing/SequenceParsing.cpp
+ )
+ add_library(NatronEngine STATIC ${NatronEngine_HEADERS} ${NatronEngine_SOURCES})
++
++find_package(
++ Boost 1.85 REQUIRED
++ COMPONENTS serialization system)
++
++
+ target_link_libraries(NatronEngine
+ PUBLIC
+ HostSupport
+- Boost::headers
+- Boost::serialization
+ PkgConfig::Cairo
++ ${Boost_LIBRARIES}
+ PRIVATE
+ Shiboken2::libshiboken
+ PySide2::pyside2
diff --git a/graphics/natron/pkg-descr b/graphics/natron/pkg-descr
new file mode 100644
index 000000000000..d01a57abb47b
--- /dev/null
+++ b/graphics/natron/pkg-descr
@@ -0,0 +1,2 @@
+Node-graph based video compositing software. Similar in functionalities to Adobe
+After Effects and Foundry Nuke.
diff --git a/graphics/natron/pkg-plist b/graphics/natron/pkg-plist
new file mode 100644
index 000000000000..0573f4bfbd43
--- /dev/null
+++ b/graphics/natron/pkg-plist
@@ -0,0 +1,8 @@
+bin/Natron
+bin/NatronRenderer
+bin/natron-python
+share/applications/fr.natron.Natron.desktop
+share/metainfo/fr.natron.Natron.appdata.xml
+share/mime/x-natron.xml
+share/pixmaps/natronIcon256_linux.png
+share/pixmaps/natronProjectIcon_linux.png