Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
CCACHE_DIR: ${{ github.workspace }}/.ccache
steps:
- name: Install build dependencies
run: pacman -Syu --noconfirm --needed git base-devel cmake ninja ccache dbus ffmpeg glib2 libarchive poppler-qt6 python-gobject qt6-base qt6-declarative qt6-multimedia qt6-multimedia-ffmpeg ttf-dejavu xdg-desktop-portal
run: pacman -Syu --noconfirm --needed git base-devel cmake ninja ccache dbus exiv2 ffmpeg glib2 libarchive poppler-qt6 python-gobject qt6-base qt6-declarative qt6-imageformats qt6-multimedia qt6-multimedia-ffmpeg ttf-dejavu xdg-desktop-portal
- uses: actions/checkout@v4
- name: Restore compiler cache
uses: actions/cache@v4
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/packaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ jobs:
- name: Install package build dependencies
run: >-
pacman -Syu --noconfirm --needed
base-devel cmake ffmpeg git ninja glib2 gvfs libarchive poppler-qt6 qt6-base qt6-declarative qt6-multimedia qt6-multimedia-ffmpeg ttf-dejavu
base-devel cmake exiv2 ffmpeg git ninja glib2 gvfs libarchive poppler-qt6 qt6-base qt6-declarative qt6-imageformats qt6-multimedia qt6-multimedia-ffmpeg ttf-dejavu

- name: Checkout exact package source SHA
uses: actions/checkout@v4
Expand Down Expand Up @@ -209,7 +209,7 @@ jobs:
grep -Fxq 'Exec=/usr/bin/ryofiles --filechooser-portal' \
/usr/share/dbus-1/services/org.freedesktop.impl.portal.desktop.ryofiles.service

pacman -Q qt6-multimedia qt6-multimedia-ffmpeg
pacman -Q exiv2 qt6-imageformats qt6-multimedia qt6-multimedia-ffmpeg
/usr/bin/ryofiles-portalctl --version

ldd /usr/bin/ryofiles | tee /tmp/ryofiles-ldd.txt
Expand Down Expand Up @@ -237,6 +237,11 @@ jobs:
exit 1
}

grep -Eq 'libexiv2\.so' /tmp/ryofiles-preview-helper-ldd.txt || {
echo 'Installed preview helper is not linked against Exiv2.' >&2
exit 1
}

for library in libavformat libavcodec libavutil libswscale; do
grep -Eq "${library}\\.so" /tmp/ryofiles-preview-helper-ldd.txt || {
echo "Installed preview helper is not linked against ${library}." >&2
Expand Down
3 changes: 2 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ qt_add_executable(ryofiles
src/preview/PreviewFileAccess.hpp
src/preview/MediaPreviewWorkflow.hpp
src/preview/MediaPreviewWorkflow.cpp
src/preview/ImagePreviewWorkflow.cpp
)

qt_add_qml_module(ryofiles
Expand Down Expand Up @@ -703,4 +704,4 @@ install(TARGETS ryofiles

install(FILES assets/ryofiles.desktop
DESTINATION ${CMAKE_INSTALL_DATADIR}/applications
)
)
8 changes: 8 additions & 0 deletions THIRD_PARTY_NOTICES.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,11 @@ The bounded PDF preview helper dynamically links to the distribution-provided Po
## FFmpeg

The bounded audio/video preview helper dynamically links to the distribution-provided FFmpeg libraries (`libavformat`, `libavcodec`, `libavutil`, and `libswscale`). Ryofiles does not vendor FFmpeg source or invoke the `ffmpeg`/`ffprobe` command-line programs for preview decoding. FFmpeg and its enabled components remain subject to their upstream and distribution-provided licenses and copyright notices.

## Exiv2

The bounded image-metadata preview helper dynamically links to the distribution-provided Exiv2 library. Ryofiles passes Exiv2 an in-memory copy read from the already-opened no-follow preview file descriptor; it does not ask Exiv2 to reopen the selected pathname. Exiv2 source is not vendored into Ryofiles and remains subject to its upstream and distribution-provided licenses and copyright notices.

## Qt image format plugins

GIF support is provided by Qt's image stack, and additional formats such as WebP are supplied by the distribution-provided Qt image-format plugins. Ryofiles does not vendor those plugins; they remain subject to their upstream and distribution-provided licenses and copyright notices.
2 changes: 2 additions & 0 deletions packaging/arch/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@ arch=('x86_64')
url='https://github.com/ashmitvoid/Ryofiles'
license=('GPL-3.0-only')
depends=(
'exiv2'
'ffmpeg'
'glib2'
'gvfs'
'libarchive'
'poppler-qt6'
'qt6-base'
'qt6-declarative'
'qt6-imageformats'
'qt6-multimedia'
'qt6-multimedia-ffmpeg'
'wayland'
Expand Down
Loading
Loading