git: 37e523cb20a4 - main - graphics/libertiff: Add libertiff 0.0.0.20250111

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Sun, 25 May 2025 09:59:27 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=37e523cb20a4fde62e4ce8a3d8429c63dca76e7f

commit 37e523cb20a4fde62e4ce8a3d8429c63dca76e7f
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2025-05-25 09:52:12 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2025-05-25 09:52:12 +0000

    graphics/libertiff: Add libertiff 0.0.0.20250111
    
    Libertiff is a C++11 simple, header-only, TIFF reader. It is MIT licensed.
    
    Handles both ClassicTIFF and BigTIFF, little-endian or big-endian ordered.
    
    The library does not offer codec facilities (and probably won't). It is mostly
    aimed at browsing through the linked chain of Image File Directory (IFD) and
    their tags.
    
    "Offline" tag values are not loaded at IFD opening time, but only upon request,
    which helps handling files with tags with an arbitrarily large number of values.
    
    The library is thread-safe (that is the instances that it returns can be used
    from multiple threads), if passed FileReader instances are themselves
    thread-safe.
    
    The library does not throw exceptions (but underlying std library might throw
    exceptions in case of out-of-memory situations)
    
    Optional features:
    - define LIBERTIFF_C_FILE_READER before including libertiff.hpp, so that the
      libertiff::CFileReader class is available
---
 graphics/Makefile                             |  1 +
 graphics/libertiff/Makefile                   | 24 ++++++++++++++++++++++++
 graphics/libertiff/distinfo                   |  3 +++
 graphics/libertiff/files/patch-CMakeLists.txt |  8 ++++++++
 graphics/libertiff/pkg-descr                  | 21 +++++++++++++++++++++
 5 files changed, 57 insertions(+)

diff --git a/graphics/Makefile b/graphics/Makefile
index 08e8725a6aed..c7113deb4e8d 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -463,6 +463,7 @@
     SUBDIR += libecwj2
     SUBDIR += libemf
     SUBDIR += libepoxy
+    SUBDIR += libertiff
     SUBDIR += libetonyek01
     SUBDIR += libexif
     SUBDIR += libexif-gtk
diff --git a/graphics/libertiff/Makefile b/graphics/libertiff/Makefile
new file mode 100644
index 000000000000..3e7477a47701
--- /dev/null
+++ b/graphics/libertiff/Makefile
@@ -0,0 +1,24 @@
+PORTNAME=	libertiff
+PORTVERSION=	0.0.0.20250111
+CATEGORIES=	graphics
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	C++11 simple, header-only, TIFF reader
+WWW=		https://github.com/libertiff/libertiff
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+
+TEST_DEPENDS=	googletest>=1.12.1:devel/googletest
+
+USES=		cmake:testing compiler:c++11-lang
+
+CMAKE_TESTING_ON=	USE_EXTERNAL_GTEST
+NO_ARCH=	yes
+
+PLIST_FILES=	include/libertiff.hpp
+
+USE_GITHUB=	yes
+GH_TAGNAME=	7fc74e7
+
+.include <bsd.port.mk>
diff --git a/graphics/libertiff/distinfo b/graphics/libertiff/distinfo
new file mode 100644
index 000000000000..d9d97259b86b
--- /dev/null
+++ b/graphics/libertiff/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1747715286
+SHA256 (libertiff-libertiff-0.0.0.20250111-7fc74e7_GH0.tar.gz) = a1953a2541414e8a26f793b4f963bb9581ade23e193ee437c973eba907be4c5d
+SIZE (libertiff-libertiff-0.0.0.20250111-7fc74e7_GH0.tar.gz) = 19972
diff --git a/graphics/libertiff/files/patch-CMakeLists.txt b/graphics/libertiff/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..9f7ffa3e8846
--- /dev/null
+++ b/graphics/libertiff/files/patch-CMakeLists.txt
@@ -0,0 +1,8 @@
+--- CMakeLists.txt.orig	2025-01-11 21:34:33 UTC
++++ CMakeLists.txt
+@@ -16,3 +16,5 @@ add_subdirectory(tests)
+ add_executable(demo demo.cpp)
+ 
+ add_subdirectory(tests)
++
++install(FILES libertiff.hpp DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
diff --git a/graphics/libertiff/pkg-descr b/graphics/libertiff/pkg-descr
new file mode 100644
index 000000000000..0fe97e1900c9
--- /dev/null
+++ b/graphics/libertiff/pkg-descr
@@ -0,0 +1,21 @@
+Libertiff is a C++11 simple, header-only, TIFF reader. It is MIT licensed.
+
+Handles both ClassicTIFF and BigTIFF, little-endian or big-endian ordered.
+
+The library does not offer codec facilities (and probably won't). It is mostly
+aimed at browsing through the linked chain of Image File Directory (IFD) and
+their tags.
+
+"Offline" tag values are not loaded at IFD opening time, but only upon request,
+which helps handling files with tags with an arbitrarily large number of values.
+
+The library is thread-safe (that is the instances that it returns can be used
+from multiple threads), if passed FileReader instances are themselves
+thread-safe.
+
+The library does not throw exceptions (but underlying std library might throw
+exceptions in case of out-of-memory situations)
+
+Optional features:
+- define LIBERTIFF_C_FILE_READER before including libertiff.hpp, so that the
+  libertiff::CFileReader class is available