diff options
author | Ionen Wolkens <ionen@gentoo.org> | 2022-10-06 20:36:55 -0400 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2022-10-06 20:55:08 -0400 |
commit | b483c31b42645fe35fcf6808f196ab20564dd780 (patch) | |
tree | da84e92587233aae74e50ecb9e4304b0ce5a2b76 /media-gfx/imv | |
parent | dev-libs/libgrapheme: add 2.0.0 (diff) | |
download | gentoo-b483c31b42645fe35fcf6808f196ab20564dd780.tar.gz gentoo-b483c31b42645fe35fcf6808f196ab20564dd780.tar.bz2 gentoo-b483c31b42645fe35fcf6808f196ab20564dd780.zip |
media-gfx/imv: add 4.3.1_p20211221
Mostly to include libgrapheme support for those that don't want
to pull icu on minimal systems (with a minimal image viewer).
Uptream had no activity since 2021, so not expecting a release soon.
Also add workaround to display animated gifs even if USE=freeimage
is set (which prevented using libnsgif with animation support).
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'media-gfx/imv')
-rw-r--r-- | media-gfx/imv/Manifest | 1 | ||||
-rw-r--r-- | media-gfx/imv/files/imv-4.3.1_p20211221-animated-gif.patch | 19 | ||||
-rw-r--r-- | media-gfx/imv/files/imv-4.3.1_p20211221-libgrapheme2.patch | 13 | ||||
-rw-r--r-- | media-gfx/imv/imv-4.3.1_p20211221.ebuild | 89 |
4 files changed, 122 insertions, 0 deletions
diff --git a/media-gfx/imv/Manifest b/media-gfx/imv/Manifest index e75c2e6a9fb6..a6bf38bedfbc 100644 --- a/media-gfx/imv/Manifest +++ b/media-gfx/imv/Manifest @@ -1 +1,2 @@ DIST imv-4.3.1.tar.gz 79123 BLAKE2B 9c818a5a29457313c3d0ed1a8558555b2069aec837939dc1d2b71668ec2fd39867c8ad4fcf8605243ded96e27d346af4307d83c8854538981b62c968e9ec0ede SHA512 f70b95f3f99d7d6a9276370650cef0885938464e3a40ab1768231292ba35d9040f7196a5853ea1268fe6d47cf08d129b3fbae1ca215df96d12ccd85b7efd1ee6 +DIST imv-4.3.1_p20211221.tar.gz 80082 BLAKE2B 2b4f3cdb0b7123b978cdbc588cf686c38d65053e3fadb6532da45be3e24b35a297639ca8ddb7d05945f92763cc014a232eb0ca0af0da059b2dac48d2b3c9939d SHA512 7579930a406d2ba1dca7f043d635ea89301606d06ca5ebe5779fffd1410789bb07ef8228beb2ef08af2783e64deda8b67aa991fc56333c0e60051f7666fbb19f diff --git a/media-gfx/imv/files/imv-4.3.1_p20211221-animated-gif.patch b/media-gfx/imv/files/imv-4.3.1_p20211221-animated-gif.patch new file mode 100644 index 000000000000..3b7ac34a3a80 --- /dev/null +++ b/media-gfx/imv/files/imv-4.3.1_p20211221-animated-gif.patch @@ -0,0 +1,19 @@ +Upstream priorizes freeimage in general, but nsgif supports animated +gif while freeimage displays them as a static image. This allows setting +USE=freeimage while still getting animations if (optional) USE=gif. +--- a/src/main.c ++++ b/src/main.c +@@ -20,2 +20,6 @@ + ++#ifdef IMV_BACKEND_LIBNSGIF ++ imv_install_backend(imv, &imv_backend_libnsgif); ++#endif ++ + #ifdef IMV_BACKEND_FREEIMAGE +@@ -39,6 +43,2 @@ + #endif +- +-#ifdef IMV_BACKEND_LIBNSGIF +- imv_install_backend(imv, &imv_backend_libnsgif); +-#endif + diff --git a/media-gfx/imv/files/imv-4.3.1_p20211221-libgrapheme2.patch b/media-gfx/imv/files/imv-4.3.1_p20211221-libgrapheme2.patch new file mode 100644 index 000000000000..ba02c27ef82e --- /dev/null +++ b/media-gfx/imv/files/imv-4.3.1_p20211221-libgrapheme2.patch @@ -0,0 +1,13 @@ +Changed with v2 and would become an error with clang16. +--- a/src/console.c ++++ b/src/console.c +@@ -54,3 +54,3 @@ + if (buffer[position] != 0) { +- return position + grapheme_next_character_break(buffer + position, SIZE_MAX); ++ return position + grapheme_next_character_break((uint_least32_t *)buffer + position, SIZE_MAX); + } else { +@@ -87,3 +87,3 @@ + do { +- step = grapheme_next_character_break(buffer + result, SIZE_MAX); ++ step = grapheme_next_character_break((uint_least32_t *)buffer + result, SIZE_MAX); + if (result + step >= position) diff --git a/media-gfx/imv/imv-4.3.1_p20211221.ebuild b/media-gfx/imv/imv-4.3.1_p20211221.ebuild new file mode 100644 index 000000000000..efc26ac19ee5 --- /dev/null +++ b/media-gfx/imv/imv-4.3.1_p20211221.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson xdg + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~exec64/imv/" +else + IMV_HASH=4448fb6104d67e3dfff3e71babe257992fce556 + SRC_URI="https://git.sr.ht/~exec64/imv/archive/${IMV_HASH}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${IMV_HASH}" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Minimal image viewer designed for tiling window manager users" +HOMEPAGE="https://sr.ht/~exec64/imv/" + +LICENSE="MIT-with-advertising" +SLOT="0" +IUSE="+X +freeimage gif heif icu jpeg png svg test tiff wayland" +REQUIRED_USE="|| ( X wayland )" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/glib:2 + dev-libs/inih + media-libs/libglvnd[X?] + x11-libs/cairo + x11-libs/libxkbcommon[X?] + x11-libs/pango + X? ( + x11-libs/libX11 + x11-libs/libxcb:= + ) + freeimage? ( media-libs/freeimage ) + gif? ( media-libs/libnsgif ) + heif? ( media-libs/libheif:= ) + icu? ( dev-libs/icu:= ) + !icu? ( >=dev-libs/libgrapheme-2:= ) + jpeg? ( media-libs/libjpeg-turbo:= ) + png? ( media-libs/libpng:= ) + svg? ( >=gnome-base/librsvg-2.44:2 ) + tiff? ( media-libs/tiff ) + wayland? ( dev-libs/wayland ) + !sys-apps/renameutils" +DEPEND=" + ${RDEPEND} + X? ( x11-base/xorg-proto ) + test? ( dev-util/cmocka )" +BDEPEND=" + app-text/asciidoc + wayland? ( dev-util/wayland-scanner )" + +PATCHES=( + "${FILESDIR}"/${P}-animated-gif.patch + "${FILESDIR}"/${P}-libgrapheme2.patch +) + +src_prepare() { + default + + # if wayland-only, don't automagic on libGL and force libOpenGL + if ! use X; then + sed -i "/dependency('gl'/{s/'gl'/'opengl'/;s/false/true/}" meson.build || die + fi + + # glu isn't used by anything + sed -i "/dependency('glu')/d" meson.build || die +} + +src_configure() { + local emesonargs=( + $(meson_feature freeimage) + $(meson_feature gif libnsgif) + $(meson_feature heif libheif) + $(meson_feature jpeg libjpeg) + $(meson_feature png libpng) + $(meson_feature svg librsvg) + $(meson_feature test) + $(meson_feature tiff libtiff) + -Dunicode=$(usex icu{,} grapheme) + -Dwindows=$(usex X $(usex wayland all x11) wayland) + ) + + meson_src_configure +} |