<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/dda20c1966aefef8769dad80c2cc4b717a3a9a56">https://github.com/macports/macports-ports/commit/dda20c1966aefef8769dad80c2cc4b717a3a9a56</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit dda20c1966aefef8769dad80c2cc4b717a3a9a56
</span>Author: Sergey Fedorov <vital.had@gmail.com>
AuthorDate: Thu Apr 27 19:42:16 2023 +0800

<span style='display:block; white-space:pre;color:#404040;'>    libopenraw-legacy: rust-less version for old systems and PPC
</span>---
 graphics/libopenraw-legacy/Portfile                |  96 ++++++
 .../files/patch-Make-CR3-support-optional.diff     | 354 +++++++++++++++++++++
 .../libopenraw-legacy/files/patch-Makefile.am.diff |  10 +
 .../files/patch-ifdentry.hpp.diff                  |  25 ++
 graphics/libopenraw/Portfile                       |  12 +
 5 files changed, 497 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/libopenraw-legacy/Portfile b/graphics/libopenraw-legacy/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8ecef51b397
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/libopenraw-legacy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,96 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           boost 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                libopenraw-legacy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             0.3.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          graphics
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             LGPL-3+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {mascguy @mascguy} {@barracuda156 gmail.com:vital.had} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         libopenraw is an ongoing project to provide a free software implementation \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    for decoding camera RAW files.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    ${description} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    One of the main reasons is that dcraw is not suited for easy integration into \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    applications, and there is a need for an easy to use API to build free software \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    digital image processing applications. It also has the goal to address features \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    missing from dcraw such as meta-data decoding and easy thumbnail extraction.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://libopenraw.freedesktop.org/${name}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        https://libopenraw.freedesktop.org/download/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_xz              yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            libopenraw-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           ${distname}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  2372f9eaa4b4f806a0533c867cb7656186a47d59 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  c365210796161e017ce87d09bd746237d845ade9ab74faaafcede89382b95640 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    570500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           libopenraw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://gitlab.freedesktop.org/libopenraw/libopenraw/-/issues/13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-Makefile.am.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-ifdentry.hpp.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-Make-CR3-support-optional.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build       port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:autoconf-archive \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:cctools \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:grep \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gsed \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gawk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib         port:libxml2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:curl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:include/turbojpeg.h:libjpeg-turbo
</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;'>+# Blacklist MacPorts Clang 14 and 15 for now, as crashes during link.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# See: https://trac.macports.org/ticket/65246
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#--------------------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    {macports-clang-1[4-5]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# as of version 0.3.0 requires C++14 to build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2014
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Teach glibtool about -stdlib=libc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_autoreconf      yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+autoreconf.args     -fvi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args      --with-boost=[boost::install_area] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --disable-gnome \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --disable-cr3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant gnome description {Build with GNOME/GTK+ support}  {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gettext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gettext-runtime \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:lib/pkgconfig/gdk-pixbuf-2.0.pc:gdk-pixbuf2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   --disable-gnome
</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;'>+default_variants +gnome
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Disable silent rules
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args          V=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset gnome]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_debug "Updating gdk-pixbuf.loaders..."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "${prefix}/bin/gdk-pixbuf-query-loaders --update-cache"
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.type      regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.url       ${homepage}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex     "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/libopenraw-legacy/files/patch-Make-CR3-support-optional.diff b/graphics/libopenraw-legacy/files/patch-Make-CR3-support-optional.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7850bdf61b4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/libopenraw-legacy/files/patch-Make-CR3-support-optional.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,354 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From b4882cb251931832de1e005aad64e5ccaed76cc9 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= <gael@xfce.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 7 Feb 2022 17:04:18 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Make CR3 support optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CR3 support adds significant weight to the build, for limited feature.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ac                 | 41 +++++++++++++++++++++++-------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/Makefile.am              | 25 ++++++++++++++++------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/canon.cpp                |  6 ++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/makernotedir.cpp         |  6 ++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/rawfile.cpp              | 10 +++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test/missingcoefficients.cpp |  8 +++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ testsuite/testsuite.cpp      |  2 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tools/dumputils.cpp          |  6 ++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 8 files changed, 82 insertions(+), 22 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/configure.ac b/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0430677..e82f7e3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -238,22 +238,32 @@ AC_ARG_ENABLE(asan,[  --enable-asan    Turn on address sanitizer],[
</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;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-AC_CHECK_PROG(CARGO, [cargo], [yes], [no])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-AS_IF(test x$CARGO = xno,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    AC_MSG_ERROR([cargo is required])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-AC_CHECK_PROG(RUSTC, [rustc], [yes], [no])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-AS_IF(test x$RUSTC = xno,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    AC_MSG_ERROR([rustc is required])
</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;'>+-dnl Release build we do.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if test x$debug = xtrue; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-CARGO_TARGET_SUBDIR=debug
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-CARGO_TARGET_SUBDIR=release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_ARG_ENABLE([cr3],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              [AC_HELP_STRING([--disable-cr3], [disable CR3 support])],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              [enable_cr3=no],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              [enable_cr3=yes])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++HAVE_CR3=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test x$enable_cr3 = xyes; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  AC_CHECK_PROG(CARGO, [cargo], [yes], [no])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if test x$CARGO = xyes; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    AC_CHECK_PROG(RUSTC, [rustc], [yes], [no])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if test x$RUSTC = xyes; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      HAVE_CR3=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      AC_DEFINE(HAVE_CR3, 1, [Define to 1 to enable CR3 support])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      dnl Release build we do.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if test x$debug = xtrue; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CARGO_TARGET_SUBDIR=debug
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CARGO_TARGET_SUBDIR=release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      AC_SUBST(CARGO_TARGET_SUBDIR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-AC_SUBST(CARGO_TARGET_SUBDIR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AM_CONDITIONAL(BUILD_CR3_SUPPORT, test x$HAVE_CR3 = xyes)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dnl we need to disable gdk pixbuf for distcheck
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DISTCHECK_CONFIGURE_FLAGS="--disable-gnome"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -285,5 +295,6 @@ echo "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Options:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   Gnome support:        ${HAVE_GNOME}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  CR3 support:          ${HAVE_CR3}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   Testsuite booststrap: ${HAVE_CURL}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/lib/Makefile.am b/lib/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 65c9813..3eaaa90 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/Makefile.am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,6 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AM_CPPFLAGS = -I$(top_srcdir)/include @BOOST_CPPFLAGS@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if BUILD_CR3_SUPPORT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RUST_FILES = mp4/Cargo.lock \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   mp4/Cargo.toml \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   mp4/lib.rs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,6 +15,7 @@ RUST_FILES = mp4/Cargo.lock \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   mp4/mp4parse/src/unstable.rs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   mp4/mp4parse/Cargo.toml \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $(NULL)
</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;'>+ EXTRA_DIST = libopenraw.sym io/testfile.tmp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   exif/exif-tags.pl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -31,8 +33,6 @@ check_PROGRAMS = teststream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ teststream_SOURCES = io/teststream.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ teststream_LDADD = libopenraw_internals.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-CLEANFILES = mp4/target/CACHEDIR.TAG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ noinst_HEADERS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   mp4/mp4parse.h \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   mp4/mp4parse_ffi.h \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -43,7 +43,6 @@ noinst_HEADERS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   tiffepfile.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   rawfilefactory.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cr2file.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  cr3file.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   neffile.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   orffile.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   arwfile.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -64,7 +63,6 @@ noinst_HEADERS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ifd.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ifdfilecontainer.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ifddir.hpp ifdentry.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  isomediacontainer.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   orfcontainer.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   rw2container.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   mrwcontainer.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -86,6 +84,19 @@ noinst_HEADERS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib_LTLIBRARIES = libopenraw.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ noinst_LTLIBRARIES = libopenraw_internals.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libopenraw_internals_la_SOURCES =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if BUILD_CR3_SUPPORT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++noinst_HEADERS += \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  cr3file.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  isomediacontainer.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libopenraw_internals_la_SOURCES += \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  cr3file.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  isomediacontainer.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++CLEANFILES = mp4/target/CACHEDIR.TAG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if DEBUG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CARGO_RELEASE_ARGS=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -107,6 +118,8 @@ clean-local:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) cargo clean $(CARGO_VERBOSE) $(CARGO_RELEASE_ARGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   rm -f $(CARGO_TARGET_DIR)/.rustc_info.json
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</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;'>+ # The use of --all-static is necesary for the RUST_LIB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libopenraw_la_LDFLAGS = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   -version-info @LIBOPENRAW_VERSION_INFO@ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -126,7 +139,7 @@ libopenraw_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $(NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libopenraw_internals_la_DEPENDENCIES = $(RUST_LIB)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-libopenraw_internals_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++libopenraw_internals_la_SOURCES += \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   io/io.c io/posix_io.h \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   io/posix_io.c io/posix_io.h \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   io/stream.cpp io/stream.hpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -152,7 +165,6 @@ libopenraw_internals_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   tiffepfile.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   rawfilefactory.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cr2file.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  cr3file.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   neffile.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   orffile.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   arwfile.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -168,7 +180,6 @@ libopenraw_internals_la_SOURCES = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   rawdata.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ifdfilecontainer.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ifddir.cpp ifdentry.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  isomediacontainer.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   makernotedir.hpp makernotedir.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   rawcontainer.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   orfcontainer.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/lib/canon.cpp b/lib/canon.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c34f976..9f0257d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/canon.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/canon.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,6 +19,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * <http://www.gnu.org/licenses/>.
</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;'>++#ifdef HAVE_CONFIG_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "config.h"
</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;'>+ #include <array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "canon.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -112,8 +116,10 @@ const ModelIdMap canon_modelid_map = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     { 0x03980000, OR_MAKE_CANON_TYPEID(OR_TYPEID_CANON_EOS_M100) },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     { 0x04180000, OR_MAKE_CANON_TYPEID(OR_TYPEID_CANON_G1XMKIII) },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     { 0x80000432, OR_MAKE_CANON_TYPEID(OR_TYPEID_CANON_2000D) },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_CR3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     { 0x80000422, OR_MAKE_CANON_TYPEID(OR_TYPEID_CANON_3000D) },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // CR3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     { 0x00000412, OR_MAKE_CANON_TYPEID(OR_TYPEID_CANON_EOS_M50) },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     { 0x80000424, OR_MAKE_CANON_TYPEID(OR_TYPEID_CANON_EOS_R) },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     { 0x80000433, OR_MAKE_CANON_TYPEID(OR_TYPEID_CANON_EOS_RP) },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/lib/makernotedir.cpp b/lib/makernotedir.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bef0242..7ebbb19 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/makernotedir.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/makernotedir.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -18,6 +18,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * <http://www.gnu.org/licenses/>.
</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;'>++#ifdef HAVE_CONFIG_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "config.h"
</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;'>+ #include <fcntl.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <string.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -48,7 +52,9 @@ MakerNoteDir::createMakerNote(off_t offset,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // Canon MakerNote don't have an ID
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (file_type == OR_RAWFILE_TYPE_CR2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_CR3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         || file_type == OR_RAWFILE_TYPE_CR3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         || file_type == OR_RAWFILE_TYPE_CRW) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return std::make_shared<MakerNoteDir>(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/lib/rawfile.cpp b/lib/rawfile.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7df9de6..9b335ba 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/rawfile.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/rawfile.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,6 +19,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * <http://www.gnu.org/licenses/>.
</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;'>++#ifdef HAVE_CONFIG_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "config.h"
</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;'>+ #include <stddef.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdint.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -47,7 +51,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "arwfile.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "cr2file.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_CR3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "cr3file.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "crwfile.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "dngfile.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "erffile.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -133,9 +139,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         RawFileFactory::registerType(OR_RAWFILE_TYPE_RAF,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                      std::bind(&Internals::RafFile::factory, _1),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                      "raf");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_CR3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         RawFileFactory::registerType(OR_RAWFILE_TYPE_CR3,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                      std::bind(&Internals::Cr3File::factory, _1),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                      "cr3");
</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;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -289,10 +297,12 @@ RawFile::identifyIOBuffer(IO::Stream::Ptr& stream, RawFile::Type& _type)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         _type = OR_RAWFILE_TYPE_MRW;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return OR_ERROR_NONE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_CR3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (len >= 12 && (memcmp(buff + 4, "ftypcrx ", 8) == 0)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         _type = OR_RAWFILE_TYPE_CR3;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return OR_ERROR_NONE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (len >= 14 && memcmp(buff, "II\x1a\0\0\0HEAPCCDR", 14) == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         _type = OR_RAWFILE_TYPE_CRW;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return OR_ERROR_NONE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/test/missingcoefficients.cpp b/test/missingcoefficients.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e568761..9e08128 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- test/missingcoefficients.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ test/missingcoefficients.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,6 +26,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * of the support of various cameras.
</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;'>++#ifdef HAVE_CONFIG_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "config.h"
</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;'>+ #include <iostream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <memory>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,7 +37,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "../lib/rawfile_private.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "../lib/arwfile.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "../lib/cr2file.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_CR3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "../lib/cr3file.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "../lib/crwfile.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "../lib/dngfile.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "../lib/erffile.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -84,7 +90,9 @@ int main(int, char**)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   OpenRaw::Internals::audit_coefficients<ArwFile>();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   OpenRaw::Internals::audit_coefficients<Cr2File>();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_CR3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   OpenRaw::Internals::audit_coefficients<Cr3File>();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   OpenRaw::Internals::audit_coefficients<CRWFile>();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   OpenRaw::Internals::audit_coefficients<DngFile>();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   OpenRaw::Internals::audit_coefficients<ERFFile>();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/testsuite/testsuite.cpp b/testsuite/testsuite.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2f4a46f..6360528 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- testsuite/testsuite.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ testsuite/testsuite.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -265,9 +265,11 @@ bool Test::testRawType(const std::string & result)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case OR_RAWFILE_TYPE_CR2:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         RETURN_TEST(result == "CR2", result);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_CR3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case OR_RAWFILE_TYPE_CR3:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         RETURN_TEST(result == "CR3", result);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case OR_RAWFILE_TYPE_CRW:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         RETURN_TEST(result == "CRW", result);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/tools/dumputils.cpp b/tools/dumputils.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index acc8f0d..dcf13f3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/dumputils.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/dumputils.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,6 +19,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * <http://www.gnu.org/licenses/>.
</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;'>++#ifdef HAVE_CONFIG_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "config.h"
</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;'>+ #include <boost/format.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "dumputils.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -31,9 +35,11 @@ std::string typeToString(or_rawfile_type t)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case OR_RAWFILE_TYPE_CR2:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return "Canon CR2";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_CR3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case OR_RAWFILE_TYPE_CR3:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return "Canon CR3";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case OR_RAWFILE_TYPE_CRW:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return "Canon CRW";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         break;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/libopenraw-legacy/files/patch-Makefile.am.diff b/graphics/libopenraw-legacy/files/patch-Makefile.am.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..480907c77cd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/libopenraw-legacy/files/patch-Makefile.am.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Makefile.am.orig       2013-12-31 13:45:27.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Makefile.am    2013-12-31 13:45:49.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,6 +1,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ACLOCAL_AMFLAGS = -I m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-SUBDIRS = lib gnome doc test testsuite demo tools include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SUBDIRS = lib gnome doc test tools include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dox:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   make -C doc dox
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/libopenraw-legacy/files/patch-ifdentry.hpp.diff b/graphics/libopenraw-legacy/files/patch-ifdentry.hpp.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..84e7fd484f0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/libopenraw-legacy/files/patch-ifdentry.hpp.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,25 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/ifdentry.hpp.orig  2017-07-01 22:18:47.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/ifdentry.hpp       2017-07-01 22:22:24.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -38,6 +38,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "rawcontainer.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "ifd.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern "C" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    static size_t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    strnlen(const char *s, size_t maxlen)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        size_t len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        for (len = 0; len < maxlen; len++, s++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if (!*s)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return (len);
</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;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace OpenRaw {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ class MetaValue;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/libopenraw/Portfile b/graphics/libopenraw/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d3727a72e7b..2803239e5d5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/libopenraw/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/libopenraw/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,6 +31,8 @@ checksums           ${distname}${extract.suffix} \
</span>                     sha256  c365210796161e017ce87d09bd746237d845ade9ab74faaafcede89382b95640 \
                     size    570500
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           libopenraw-legacy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> patchfiles          patch-Makefile.am.diff \
                     patch-ifdentry.hpp.diff
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -95,6 +97,16 @@ default_variants +gnome
</span> # Disable silent rules
 build.args          V=1
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+platform macosx {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} < 10 || ${build_arch} in [list ppc ppc64]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        known_fail  yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "$name requires Rust. Please use the libopenraw-legacy port instead."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            error "unsupported OS version"
</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;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> post-activate {
     if {[variant_isset gnome]} {
         ui_debug "Updating gdk-pixbuf.loaders..."
</pre><pre style='margin:0'>

</pre>