aboutsummaryrefslogtreecommitdiff
path: root/devel/inja
diff options
context:
space:
mode:
Diffstat (limited to 'devel/inja')
-rw-r--r--devel/inja/Makefile32
-rw-r--r--devel/inja/distinfo3
-rw-r--r--devel/inja/files/patch-CMakeLists.txt10
-rw-r--r--devel/inja/files/patch-cmake_PkgConfigGeneration.cmake21
-rw-r--r--devel/inja/files/patch-cmake_inja.pc.in13
-rw-r--r--devel/inja/pkg-descr4
-rw-r--r--devel/inja/pkg-plist17
7 files changed, 100 insertions, 0 deletions
diff --git a/devel/inja/Makefile b/devel/inja/Makefile
new file mode 100644
index 000000000000..c1d4272b2864
--- /dev/null
+++ b/devel/inja/Makefile
@@ -0,0 +1,32 @@
+PORTNAME= inja
+DISTVERSIONPREFIX= v
+DISTVERSION= 3.4.0
+CATEGORIES= devel
+
+MAINTAINER= desktop@FreeBSD.org
+COMMENT= Template Engine for Modern C++
+WWW= https://pantor.github.io/inja/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= bash:shells/bash \
+ nlohmann-json>=3:devel/nlohmann-json
+
+USES= bison cmake:noninja compiler:c++17-lang gettext pathfix pkgconfig python:build shebangfix
+
+SHEBANG_FILES= scripts/update_single_include.sh third_party/amalgamate/amalgamate.py
+BINARY_ALIAS= python3=${PYTHON_CMD}
+
+USE_GITHUB= yes
+GH_ACCOUNT= pantor
+
+OPTIONS_DEFINE= TESTS
+
+TESTS_DESC= Build self tests
+TESTS_CMAKE_BOOL= BUILD_TESTING BUILD_BENCHMARK
+#TESTS_MESON_TRUE= build_tests build_benchmark
+
+CMAKE_OFF= INJA_USE_EMBEDDED_JSON
+
+.include <bsd.port.mk>
diff --git a/devel/inja/distinfo b/devel/inja/distinfo
new file mode 100644
index 000000000000..aff1b5ca95e6
--- /dev/null
+++ b/devel/inja/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1758188787
+SHA256 (pantor-inja-v3.4.0_GH0.tar.gz) = 7155f944553ca6064b26e88e6cae8b71f8be764832c9c7c6d5998e0d5fd60c55
+SIZE (pantor-inja-v3.4.0_GH0.tar.gz) = 369278
diff --git a/devel/inja/files/patch-CMakeLists.txt b/devel/inja/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..4245382674c6
--- /dev/null
+++ b/devel/inja/files/patch-CMakeLists.txt
@@ -0,0 +1,10 @@
+--- CMakeLists.txt.orig 2023-01-29 12:10:03 UTC
++++ CMakeLists.txt
+@@ -17,6 +17,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_S
+ set(INJA_PACKAGE_USE_EMBEDDED_JSON OFF)
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake)
+
++include(PkgConfigGeneration)
+
+ # For using the correct __cplusplus macro
+ if(MSVC)
diff --git a/devel/inja/files/patch-cmake_PkgConfigGeneration.cmake b/devel/inja/files/patch-cmake_PkgConfigGeneration.cmake
new file mode 100644
index 000000000000..d148dbe48cfe
--- /dev/null
+++ b/devel/inja/files/patch-cmake_PkgConfigGeneration.cmake
@@ -0,0 +1,21 @@
+--- cmake/PkgConfigGeneration.cmake.orig 2025-09-18 10:40:00 UTC
++++ cmake/PkgConfigGeneration.cmake
+@@ -0,0 +1,18 @@
++#.rst:
++# PkgConfigGeneration
++# -------------------
++#
++# Generate the pkg-config file for libdispatch.
++#
++# The script generates a pkg-config file on non-Apple UNIX-like systems.
++#
++
++# Check if the system is UNIX-based and not Apple
++if(UNIX)
++ # Configure the pkg-config file from the template
++ configure_file("${PROJECT_SOURCE_DIR}/cmake/inja.pc.in"
++ "${PROJECT_BINARY_DIR}/inja.pc" @ONLY)
++
++ # Install the generated pkg-config file to the appropriate directory
++ install(FILES "${PROJECT_BINARY_DIR}/inja.pc" DESTINATION "${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig")
++endif()
diff --git a/devel/inja/files/patch-cmake_inja.pc.in b/devel/inja/files/patch-cmake_inja.pc.in
new file mode 100644
index 000000000000..189eca368de6
--- /dev/null
+++ b/devel/inja/files/patch-cmake_inja.pc.in
@@ -0,0 +1,13 @@
+--- cmake/inja.pc.in.orig 2025-09-18 10:39:00 UTC
++++ cmake/inja.pc.in
+@@ -0,0 +1,10 @@
++prefix=@CMAKE_INSTALL_PREFIX@
++exec_prefix=${prefix}
++libdir=${exec_prefix}/lib
++includedir=${prefix}/include
++
++Name: inja
++Description: inja (Template Engine for Modern C++)
++Version: @PROJECT_VERSION@
++Libs: -L${libdir}
++Cflags: -I${includedir}
diff --git a/devel/inja/pkg-descr b/devel/inja/pkg-descr
new file mode 100644
index 000000000000..cf2840cf0027
--- /dev/null
+++ b/devel/inja/pkg-descr
@@ -0,0 +1,4 @@
+Inja is a template engine for modern C++, loosely inspired by jinja for python.
+
+It has an easy and yet powerfultemplate syntax with all variables, loops, conditions,
+includes, callbacks, and comments you need, nested and combined as you like.
diff --git a/devel/inja/pkg-plist b/devel/inja/pkg-plist
new file mode 100644
index 000000000000..b35c8754f258
--- /dev/null
+++ b/devel/inja/pkg-plist
@@ -0,0 +1,17 @@
+include/inja/config.hpp
+include/inja/environment.hpp
+include/inja/exceptions.hpp
+include/inja/function_storage.hpp
+include/inja/inja.hpp
+include/inja/lexer.hpp
+include/inja/node.hpp
+include/inja/parser.hpp
+include/inja/renderer.hpp
+include/inja/statistics.hpp
+include/inja/template.hpp
+include/inja/token.hpp
+include/inja/utils.hpp
+lib/cmake/inja/injaConfig.cmake
+lib/cmake/inja/injaConfigVersion.cmake
+lib/cmake/inja/injaTargets.cmake
+libdata/pkgconfig/inja.pc