<pre style='margin:0'>
Marius Schamschula (Schamschula) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/62ea63a91f9e75a4f94c44dd96dd99b1398ccfba">https://github.com/macports/macports-ports/commit/62ea63a91f9e75a4f94c44dd96dd99b1398ccfba</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 62ea63a91f9 gmic: add HEIF support
</span>62ea63a91f9 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 62ea63a91f9e75a4f94c44dd96dd99b1398ccfba
</span>Author: Marius Schamschula <mps@macports.org>
AuthorDate: Fri Dec 10 16:08:18 2021 -0600
<span style='display:block; white-space:pre;color:#404040;'> gmic: add HEIF support
</span>---
science/gmic/Portfile | 8 +-
science/gmic/files/FindHEIF.cmake | 93 ++++++++++++++++++++++
science/gmic/files/patch-cmake-FindCImg.cmake.diff | 26 ++++++
3 files changed, 126 insertions(+), 1 deletion(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gmic/Portfile b/science/gmic/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 156f71083bd..edf55983ce7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/gmic/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gmic/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -15,7 +15,7 @@ if {${subport} ne "gmic" && ${subport} ne "gmic-clib"} {
</span>
name gmic
version 3.0.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span> license CeCILL
categories science graphics
platforms darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -49,6 +49,7 @@ depends_lib port:curl \
</span> port:fftw-3 \
port:GraphicsMagick \
port:ilmbase \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libheif \
</span> path:include/turbojpeg.h:libjpeg-turbo \
port:libpng \
port:openexr \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -56,6 +57,7 @@ depends_lib port:curl \
</span> port:zlib
patchfiles patch-CMakeLists.txt.diff \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-cmake-FindCImg.cmake.diff \
</span> patch-src-Makefile.diff
compiler.cxx_standard 2011
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -94,6 +96,10 @@ if {${subport} eq ${name}} {
</span> cmake.build_type Release
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${filespath}/FindHEIF.cmake ${worksrcpath}/cmake/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.args-append -DCUSTOM_CFLAGS=ON \
-DENABLE_OPENMP=OFF \
-DENABLE_X=OFF
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gmic/files/FindHEIF.cmake b/science/gmic/files/FindHEIF.cmake
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4c9fa5b9e10
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gmic/files/FindHEIF.cmake
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,93 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# - Find the native HEIF includes and library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This module defines
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# HEIF_INCLUDE_DIR, where to find heif.h, etc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# HEIF_LIBRARIES, the libraries to link against to use HEIF.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# HEIF_FOUND, If false, do not try to use HEIF.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Also defined, but not for general use are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# HEIF_LIBRARY, where to find the HEIF library.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Redistribution and use in source and binary forms, with or without
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# modification, are permitted provided that the following conditions are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# met:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# * Redistributions of source code must retain the above copyright notice,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# this list of conditions and the following disclaimer.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# * Redistributions in binary form must reproduce the above copyright notice,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# this list of conditions and the following disclaimer in the documentation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# and/or other materials provided with the distribution.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# * The names of Kitware, Inc., the Insight Consortium, or the names of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# any consortium members, or of any contributors, may not be used to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# endorse or promote products derived from this software without
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# specific prior written permission.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS''
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+SET(HEIF_FOUND "NO")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# use pkg-config to get the directories and then use these values
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# in the FIND_PATH() and FIND_LIBRARY() calls
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if( NOT WIN32 )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ find_package(PkgConfig)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pkg_check_modules(HEIF_PKG libheif>=1.7.0 QUIET)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+endif( NOT WIN32 )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+FIND_PATH(HEIF_INCLUDE_DIR NAMES libheif/heif.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PATHS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /opt/local/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /usr/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ HINTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${HEIF_PKG_INCLUDE_DIRS} # Generated by pkg-config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+IF (HEIF_INCLUDE_DIR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include(CheckStructHasMember)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CHECK_STRUCT_HAS_MEMBER("struct heif_decoding_options" convert_hdr_to_8bit libheif/heif.h HEIF_HDR_TO_8BIT LANGUAGE C)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SET(HEIF_PKG_FOUND 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif (WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ENDIF (HEIF_INCLUDE_DIR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+IF (NOT HEIF_HDR_TO_8BIT AND NOT HEIF_PKG_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MESSAGE(FATAL_ERROR "libheif version found is too old")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ENDIF (NOT HEIF_HDR_TO_8BIT AND NOT HEIF_PKG_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+SET(HEIF_NAMES ${HEIF_NAMES} heif ${HEIF_PKG_LIBRARY})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+FIND_LIBRARY(HEIF_LIBRARY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NAMES ${HEIF_NAMES}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PATH /opt/local/lib /usr/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PATH_SUFFIXES lib64 lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ HINTS ${HEIF_PKG_LIBRARY_DIRS} # Generated by pkg-config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+IF (HEIF_LIBRARY AND HEIF_INCLUDE_DIR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SET(HEIF_FOUND "YES")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SET(HAVE_LIBHEIF 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SET(HEIF_LIBRARIES ${HEIF_LIBRARY})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ENDIF (HEIF_LIBRARY AND HEIF_INCLUDE_DIR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+IF (HEIF_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IF (NOT HEIF_FIND_QUIETLY)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MESSAGE(STATUS "Find HEIF: ${HEIF_LIBRARY}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ENDIF (NOT HEIF_FIND_QUIETLY)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ELSE (HEIF_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IF (HEIF_FIND_REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MESSAGE(FATAL_ERROR "Could not find HEIF library")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ENDIF (HEIF_FIND_REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ENDIF (HEIF_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MARK_AS_ADVANCED(HEIF_INCLUDE_DIR HEIF_LIBRARY)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gmic/files/patch-cmake-FindCImg.cmake.diff b/science/gmic/files/patch-cmake-FindCImg.cmake.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..9600390b589
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gmic/files/patch-cmake-FindCImg.cmake.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- cmake/FindCImg.cmake.orig 2021-12-09 03:25:45.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ cmake/FindCImg.cmake 2021-12-10 15:18:02.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -31,6 +31,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ option(ENABLE_OPENMP "Add support for parallel processing" ON)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ option(ENABLE_PNG "Add support for handling images in PNG format" ON)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ option(ENABLE_TIFF "Add support for handling images in Tiff format" ON)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++option(ENABLE_HEIF "Add support for handling images in HEIF format" ON)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ option(ENABLE_ZLIB "Add support for data compression via Zlib" ON)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(COMPILE_FLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -137,6 +138,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if(ENABLE_HEIF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ find_package(HEIF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if(HEIF_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ list(APPEND CLI_COMPILE_FLAGS "cimg_use_heif")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ list(APPEND EXTRA_LIBRARY_TARGETS heif)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(ENABLE_JPEG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ find_package(JPEG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>
</pre>