Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
b610690
adds XMP-Toolkit-SDK as a submodule
serghov Jul 10, 2024
f5c7ee5
removes in source copy of XMP-Toolkit-sdk
serghov Jul 10, 2024
5aa17e3
adds a hacky workaround to work with MD5 implementation from XMP-Tool…
serghov Jul 10, 2024
d9afb41
adds submodules cloning for github actions
serghov Jul 10, 2024
567ffc4
fixes xmp encoding of multiple items with same lang for langAlt type …
serghov Jul 11, 2024
8881da4
update meson build for XMP-Toolkit-SDK submodule
serghov Feb 12, 2026
157c1ea
disable DeleteNamespace call unsupported by XMP-Toolkit-SDK
serghov Feb 12, 2026
ffe346d
work around NormalizeLangArray overwriting lang-specific values
serghov Feb 12, 2026
26eb19f
update StaffPhotographer reference for date-only timezone handling
serghov Feb 12, 2026
73d2032
detect XMP toolkit version at test runtime via $xmp_toolkit_version
serghov Feb 12, 2026
32e2912
update tests to use $xmp_toolkit_version instead of hardcoded version
serghov Feb 12, 2026
8dd5d9c
update tests for XMP property alias changes in new SDK
serghov Feb 12, 2026
43b1e28
update AVIF tests for IPTC namespace prefix change in new SDK
serghov Feb 12, 2026
ecdf4cb
update namespace re-registration test for new SDK behavior
serghov Feb 12, 2026
fc80077
update tests for changed XMP parsing strictness in new SDK
serghov Feb 12, 2026
2f270fd
handle LangAlt encoding for aliased XMP properties
serghov Feb 12, 2026
7bc2efd
update conversions test for tiff:Software → xmp:CreatorTool alias
serghov Feb 12, 2026
41bd250
update stdin and webp tests for shorter XMP toolkit version string
serghov Feb 12, 2026
194812a
update xmpparser test for new SDK version, prefixes, and alias handling
serghov Feb 12, 2026
acb0531
add submodule check for XMP-Toolkit-SDK at configure time
serghov Feb 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ jobs:
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/nightly_Linux_distributions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1
- name: Install dependencies
run: ./ci/install_dependencies.sh
- name: Build and install
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/on_PR_linux_fuzz.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1
- name: Install dependencies
run: |
sudo ./ci/install_dependencies.sh
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/on_PR_linux_matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand Down Expand Up @@ -76,6 +78,9 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
shell: bash
run: git submodule update --init --depth=1
- uses: jirutka/setup-alpine@v1
with:
arch: ${{matrix.arch}}
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/on_PR_linux_special_builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ jobs:
fetch-depth: 2
persist-credentials: false
# Trying to deal with warning: -> Issue detecting commit SHA. Please run actions/checkout with fetch-depth > 1 or set to 0
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand Down Expand Up @@ -68,6 +70,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand Down Expand Up @@ -106,6 +110,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand Down Expand Up @@ -142,6 +148,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand All @@ -166,6 +174,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/on_PR_linux_staticAnalysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ jobs:
fetch-depth: 2
persist-credentials: false
# Trying to deal with warning: -> Issue detecting commit SHA. Please run actions/checkout with fetch-depth > 1 or set to 0
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/on_PR_mac_matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/on_PR_mac_special_builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/on_PR_meson.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1
- uses: egor-tensin/setup-gcc@v2
with:
version: ${{matrix.cxx}}
Expand All @@ -41,6 +43,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1
- uses: egor-tensin/setup-clang@v2
with:
version: ${{matrix.cxx}}
Expand Down Expand Up @@ -76,6 +80,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install packages
run: |
Expand Down Expand Up @@ -106,6 +112,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install packages
run: |
Expand Down Expand Up @@ -140,6 +148,9 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
shell: bash
run: git submodule update --init --depth=1

- uses: msys2/setup-msys2@v2
with:
Expand Down Expand Up @@ -169,6 +180,9 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
shell: bash
run: git submodule update --init --depth=1
- uses: msys2/setup-msys2@v2
with:
msystem: 'MSYS'
Expand All @@ -193,6 +207,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install packages
run: |
Expand All @@ -210,6 +226,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1
- uses: vmactions/freebsd-vm@v1
with:
prepare: |
Expand All @@ -224,6 +242,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1
- uses: vmactions/omnios-vm@v1
with:
prepare: |
Expand All @@ -238,6 +258,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1
- name: Install packages
run: |
sudo apt install -y meson
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/on_PR_windows_matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Set up Visual Studio shell
uses: ilammy/msvc-dev-cmd@v1
Expand Down Expand Up @@ -99,6 +101,9 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
shell: bash
run: git submodule update --init --depth=1

- name: Set up MSYS2
uses: msys2/setup-msys2@v2
Expand Down Expand Up @@ -157,6 +162,9 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
shell: bash
run: git submodule update --init --depth=1

- name: Set up Cygwin
uses: cygwin/cygwin-install-action@v6
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/on_push_BasicWinLinMac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Set up Visual Studio shell
uses: ilammy/msvc-dev-cmd@v1
Expand Down Expand Up @@ -61,6 +63,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand Down Expand Up @@ -97,6 +101,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/on_push_ExtraJobsForMain.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/on_push_clang_format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1
- uses: DoozyX/clang-format-lint-action@v0.20
with:
source: '.'
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand Down Expand Up @@ -77,6 +79,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Install dependencies
run: |
Expand Down Expand Up @@ -122,6 +126,8 @@ jobs:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Checkout submodules
run: git submodule update --init --depth=1

- name: Set up Visual Studio shell
uses: ilammy/msvc-dev-cmd@v1
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "xmpsdk/XMP-Toolkit-SDK"]
path = xmpsdk/XMP-Toolkit-SDK
url = https://github.com/adobe/XMP-Toolkit-SDK.git
6 changes: 4 additions & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,9 @@ if(EXIV2_ENABLE_XMP OR EXIV2_ENABLE_EXTERNAL_XMP)
endif()

if(EXIV2_ENABLE_XMP)
target_sources(exiv2lib PRIVATE $<TARGET_OBJECTS:exiv2-xmp>)
# target_sources(exiv2lib PRIVATE $<TARGET_OBJECTS:exiv2-xmp>)
target_link_libraries(exiv2lib PRIVATE exiv2-xmp exiv2-xmp-interface)
target_compile_definitions(exiv2lib PUBLIC EXV_ADOBE_XMPSDK=2016)
elseif(EXIV2_ENABLE_EXTERNAL_XMP)
target_link_libraries(exiv2lib PUBLIC ${XMPSDK_LIBRARY})
target_include_directories(exiv2lib PUBLIC ${XMPSDK_INCLUDE_DIR})
Expand Down Expand Up @@ -313,7 +315,7 @@ set(requires_private_for_pc_file

write_basic_package_version_file(exiv2-config-version.cmake COMPATIBILITY ExactVersion)

install(TARGETS exiv2lib EXPORT exiv2-targets)
install(TARGETS exiv2lib exiv2-xmp exiv2-xmp-interface EXPORT exiv2-targets)

include(CMakePackageConfigHelpers)
configure_package_config_file(
Expand Down
2 changes: 1 addition & 1 deletion src/convert.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1257,7 +1257,7 @@ std::string Converter::computeExifDigest(bool tiff) {
continue;
DataBuf data(pos->size());
pos->copy(data.data(), littleEndian /* FIXME ? */);
MD5Update(&context, data.c_data(), static_cast<uint32_t>(data.size()));
MD5Update(&context, const_cast<XMP_Uns8*>(data.c_data()), static_cast<uint32_t>(data.size()));
}
}
MD5Final(digest, &context);
Expand Down
5 changes: 2 additions & 3 deletions src/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -88,12 +88,11 @@ exiv2int_dep = declare_dependency(
exiv2 = library(
'exiv2',
base_lib,
xmp_lib,
cpp_args: cargs,
cpp_args: [cargs, xmp_public_args],
version: meson.project_version(),
soversion: sover,
gnu_symbol_visibility: 'hidden',
dependencies: [exiv2int_dep, brotli_dep, curl_dep, expat_dep, iconv_dep, net_dep],
dependencies: [exiv2int_dep, xmp_dep, brotli_dep, curl_dep, expat_dep, iconv_dep, net_dep],
install: true,
)

Expand Down
Loading