commit:     1ba46e37736e2146f1dc4e860b33d0b2c07a457f
Author:     Ionen Wolkens <sudinave <AT> gmail <DOT> com>
AuthorDate: Sat Jan 23 15:36:14 2021 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Feb 16 12:16:38 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ba46e37

media-gfx/imv: 4.2.0 bump

Is now using meson, and notably adds heif support.

Changes from previous live ebuild:
 - fix man pages missing when USE=-test
 - Allow direct backends even if freeimage is enabled
  (upstream sets freeimage as a fallback, so let it be so)
 - new inih dep (#760471)
 - force removal of unused virtual/glu dep
 - reviewed and updated all other deps (e.g. SDL unused)
 - allow building X11-less with libglvnd[-X]
  (but now use X by default to satisfy required use)
 - various cleanups

Patches:
 - fix segmentation fault when imv[freeimage,-svg]
 - fix flickering issue on wayland (upstream backport)

Closes: https://bugs.gentoo.org/760471
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Ionen Wolkens <sudinave <AT> gmail.com>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 media-gfx/imv/Manifest                             |   1 +
 media-gfx/imv/files/imv-4.2.0-add-string-inc.patch |   9 ++
 .../imv-4.2.0-wayland-roundtrip-after-scale.patch  |  14 +++
 media-gfx/imv/imv-4.2.0.ebuild                     |  86 ++++++++++++++++++
 media-gfx/imv/imv-9999.ebuild                      | 100 ++++++++++-----------
 5 files changed, 156 insertions(+), 54 deletions(-)

diff --git a/media-gfx/imv/Manifest b/media-gfx/imv/Manifest
index 00813efe7c9..d4de93aa042 100644
--- a/media-gfx/imv/Manifest
+++ b/media-gfx/imv/Manifest
@@ -1,2 +1,3 @@
 DIST imv-4.0.1.tar.gz 74982 BLAKE2B 
5ff7f093307fdf6114e56f0e5d5a47a4320607eea12daa9a9c89c679f558b4d31f206f7eb03a8b0435a3f05974949029ebfc6e1b1fe4d7d2859bbd722ecb6366
 SHA512 
f946346638d4314956e86f0e7dfa38baf0ebbb80970f1738749e6c7b80642c2315256738b94ab04d45784c0930edadfc7cc339d2bcfd6eb80fd2e1e98b2d9b28
 DIST imv-4.1.0.tar.gz 77341 BLAKE2B 
d6735feba4d3e958db70eddea72bbbeb60731cf550680320448ba226ba74eb467617ad295f9094995e0bf31c99473f067ff41f16689ce21fb87d7a9fd2e0946a
 SHA512 
92d7551bda55185b29724e90230dac608a82f4a45cd3cb9c7a5d261f65eede6dcdde78f5c16eecfc1242533ec8e155204189fab3cacf31ddc088707af5131b2a
+DIST imv-4.2.0.tar.gz 77809 BLAKE2B 
a0c8aeb4d50d252818f4a4bedc145a8e2ffffa3ae14d888ef4623fe17a714bd17397399064019b32a48e6ebe3613f592428b075988ed533166c06c2b885d245b
 SHA512 
7b64c6d4e5e484fd2ef4e28e2ba5cc74e4d28f8e2fa329ae7c744bd77ce8a345123f9cc3c77e015ff780938d5add97cfe9ed4e5a3a52b03a91b7bb6bb50e7115

diff --git a/media-gfx/imv/files/imv-4.2.0-add-string-inc.patch 
b/media-gfx/imv/files/imv-4.2.0-add-string-inc.patch
new file mode 100644
index 00000000000..e726d7b093a
--- /dev/null
+++ b/media-gfx/imv/files/imv-4.2.0-add-string-inc.patch
@@ -0,0 +1,9 @@
+https://github.com/eXeC64/imv/issues/299
+--- a/src/backend_freeimage.c  2020-12-17 15:30:42.000000000 -0500
++++ b/src/backend_freeimage.c  2021-01-23 12:03:46.175921640 -0500
+@@ -8,4 +8,5 @@
+ #include <FreeImage.h>
+ #include <stdlib.h>
++#include <string.h>
+ 
+ struct private {

diff --git a/media-gfx/imv/files/imv-4.2.0-wayland-roundtrip-after-scale.patch 
b/media-gfx/imv/files/imv-4.2.0-wayland-roundtrip-after-scale.patch
new file mode 100644
index 00000000000..38101332906
--- /dev/null
+++ b/media-gfx/imv/files/imv-4.2.0-wayland-roundtrip-after-scale.patch
@@ -0,0 +1,14 @@
+https://github.com/eXeC64/imv/issues/305
+--- a/src/wl_window.c  2020-12-17 15:30:42.000000000 -0500
++++ b/src/wl_window.c  2021-02-02 19:03:52.598901093 -0500
+@@ -545,2 +545,3 @@
+     wl_surface_commit(window->wl_surface);
++    wl_display_roundtrip(window->wl_display);
+     size_t buffer_width = window->width * window->scale;
+@@ -636,4 +637,4 @@
+         .height = window->height,
+-        .buffer_width = window->width * window->scale,
+-        .buffer_height = window->height * window->scale
++        .buffer_width = buffer_width,
++        .buffer_height = buffer_height,
+       }

diff --git a/media-gfx/imv/imv-4.2.0.ebuild b/media-gfx/imv/imv-4.2.0.ebuild
new file mode 100644
index 00000000000..d586e38f344
--- /dev/null
+++ b/media-gfx/imv/imv-4.2.0.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit xdg meson
+
+if [[ ${PV} == 9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/eXeC64/imv.git";
+else
+       SRC_URI="https://github.com/eXeC64/imv/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Minimal image viewer designed for tiling window manager users"
+HOMEPAGE="https://github.com/eXeC64/imv";
+
+LICENSE="MIT-with-advertising"
+SLOT="0"
+IUSE="+X +freeimage gif heif jpeg png svg test tiff wayland"
+REQUIRED_USE="|| ( X wayland )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       dev-libs/icu:=
+       dev-libs/inih
+       media-libs/libglvnd[X?]
+       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:= )
+       jpeg? ( media-libs/libjpeg-turbo:= )
+       png? ( media-libs/libpng:= )
+       svg? ( >=gnome-base/librsvg-2.44 )
+       tiff? ( media-libs/tiff )
+       wayland? ( dev-libs/wayland )
+       !sys-apps/renameutils
+"
+DEPEND="
+       ${RDEPEND}
+       test? ( dev-util/cmocka )
+"
+BDEPEND="
+       app-text/asciidoc
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-4.2.0-add-string-inc.patch"
+       "${FILESDIR}/${PN}-4.2.0-wayland-roundtrip-after-scale.patch"
+)
+
+src_prepare() {
+       default
+
+       # allow building with libglvnd[-X]
+       if ! use X; then
+               sed -i "/dependency('gl')/s/gl/opengl/" meson.build || die
+       fi
+
+       # glu isn't used by anything
+       sed -i "/dependency('glu')/d" meson.build || die
+}
+
+src_configure() {
+       local WINDOWS=all
+       use X || WINDOWS=wayland
+       use wayland || WINDOWS=x11
+
+       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)
+               -Dwindows=$WINDOWS
+       )
+       meson_src_configure
+}

diff --git a/media-gfx/imv/imv-9999.ebuild b/media-gfx/imv/imv-9999.ebuild
index 65f50d9221c..7ea6a946642 100644
--- a/media-gfx/imv/imv-9999.ebuild
+++ b/media-gfx/imv/imv-9999.ebuild
@@ -1,89 +1,81 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
-inherit git-r3 meson xdg-utils
+inherit xdg meson
+
+if [[ ${PV} == 9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/eXeC64/imv.git";
+else
+       SRC_URI="https://github.com/eXeC64/imv/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+fi
 
 DESCRIPTION="Minimal image viewer designed for tiling window manager users"
-LICENSE="MIT-with-advertising"
 HOMEPAGE="https://github.com/eXeC64/imv";
-EGIT_REPO_URI="https://github.com/eXeC64/imv";
 
-KEYWORDS=""
+LICENSE="MIT-with-advertising"
 SLOT="0"
-IUSE="X +freeimage +png jpeg svg gif heif test tiff wayland"
+IUSE="+X +freeimage gif heif jpeg png svg test tiff wayland"
+REQUIRED_USE="|| ( X wayland )"
 RESTRICT="!test? ( test )"
-REQUIRED_USE="
-       || ( X wayland )
-"
 
 RDEPEND="
-       !sys-apps/renameutils
        dev-libs/icu:=
-       media-libs/fontconfig
-       media-libs/libsdl2
-       media-libs/sdl2-ttf
+       dev-libs/inih
+       media-libs/libglvnd[X?]
+       x11-libs/libxkbcommon[X?]
+       x11-libs/pango
        X? (
-               virtual/glu
                x11-libs/libX11
-               x11-libs/libxcb
-               x11-libs/libxkbcommon[X]
-               x11-libs/pango
-       )
-       freeimage? ( media-libs/freeimage[png?,jpeg?,tiff?] )
-       !freeimage? (
-               jpeg? ( media-libs/libjpeg-turbo )
-               png? ( media-libs/libpng )
-               tiff? ( media-libs/tiff )
+               x11-libs/libxcb:=
        )
+       freeimage? ( media-libs/freeimage )
        gif? ( media-libs/libnsgif )
-       heif? ( media-libs/libheif )
+       heif? ( media-libs/libheif:= )
+       jpeg? ( media-libs/libjpeg-turbo:= )
+       png? ( media-libs/libpng:= )
        svg? ( >=gnome-base/librsvg-2.44 )
+       tiff? ( media-libs/tiff )
        wayland? ( dev-libs/wayland )
-"
-BDEPEND="
-       app-text/asciidoc
-       test? ( dev-util/cmocka )
+       !sys-apps/renameutils
 "
 DEPEND="
        ${RDEPEND}
+       test? ( dev-util/cmocka )
+"
+BDEPEND="
+       app-text/asciidoc
 "
 
-src_configure() {
-       local WINDOWS
-       if use X; then
-               if ! use wayland; then
-                       WINDOWS=x11
-               else
-                       WINDOWS=all
-               fi
-       else
-               if use wayland; then
-                       WINDOWS=wayland
-               fi
-       fi
+src_prepare() {
+       default
 
-       if ! use test; then
-               sed -i -e '/^dep_cmocka/,/^endforeach$/d' meson.build || die
+       # allow building with libglvnd[-X]
+       if ! use X; then
+               sed -i "/dependency('gl')/s/gl/opengl/" meson.build || die
        fi
 
+       # glu isn't used by anything
+       sed -i "/dependency('glu')/d" meson.build || die
+}
+
+src_configure() {
+       local WINDOWS=all
+       use X || WINDOWS=wayland
+       use wayland || WINDOWS=x11
+
        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)
-               $(usex freeimage -Dlibjpeg=disabled -Dlibjpeg=enabled)
-               $(usex freeimage -Dlibpng=disabled -Dlibjpeg=enabled)
-               $(usex freeimage -Dlibtiff=disabled -Dlibjpeg=enabled)
+               $(meson_feature test)
+               $(meson_feature tiff libtiff)
                -Dwindows=$WINDOWS
        )
        meson_src_configure
 }
-
-pkg_postinst() {
-       xdg_desktop_database_update
-}
-
-pkg_postrm() {
-       xdg_desktop_database_update
-}

Reply via email to