mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-04-07 03:10:15 -04:00
media-gfx/swayimg: drop 4.0
Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
This commit is contained in:
@@ -1,3 +1,2 @@
|
||||
DIST swayimg-4.0.tar.gz 768532 BLAKE2B c7121452f02af4b599679f2040233142978184cb1919d1af5d90540f0e1331542ec56c7d96e68f33aacb117083ae20ae3f2aa81833846c37c7868f9551f2d63c SHA512 e13eadab3188b25266caefabe493da95fecc41b7e78c29e836e895d3d68f71405296e330963a44e88a8adbc9ba6c881f952d30033d63fffd14ccf909ec742613
|
||||
DIST swayimg-4.1.tar.gz 772139 BLAKE2B f20aca21800510f348f0cff3ee9d2c1a176f746b0e75f3b39147d1cee23ef54454ee618120c87d9649fde0bb0565ed2462bdc148b107c6eaf026d94cd8d7f3ad SHA512 0cce9c60bba1daa85776d155a656f7d3988a4e8fd5fa8f461c1bec00c800fdf6a51f6a18212042f61e324d45936434988d60e80bf03f237172d9a159e3e52153
|
||||
DIST swayimg-4.2.tar.gz 778261 BLAKE2B 58a0fc1b70c7218493d499d224fd32bfcd4083515060ae6d5ec40225f127a0cc9115dff9237f90e12fb46ac66f110d7003edf8ea13218d7b5e631074c8d30f76 SHA512 6496591410ddadd4569c51e12b92d32f83b233b055212a50c861facb30cc7fe5c58c8b4e4955ae862086ed3d06f014fcc657fb8ba112b3bbfb287dc1e3ec3852
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
From eff7ca90fb6db8ca214384f8660709fdaff405f6 Mon Sep 17 00:00:00 2001
|
||||
From: Artem Senichev <artemsen@gmail.com>
|
||||
Date: Sat, 17 May 2025 11:47:36 +0300
|
||||
Subject: [PATCH] Fix potential memory leak
|
||||
|
||||
Signed-off-by: Artem Senichev <artemsen@gmail.com>
|
||||
---
|
||||
src/image.c | 18 ++++++++++--------
|
||||
1 file changed, 10 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/src/image.c b/src/image.c
|
||||
index cbb28e6..fbdef8d 100644
|
||||
--- a/src/image.c
|
||||
+++ b/src/image.c
|
||||
@@ -36,14 +36,7 @@ bool image_clear(struct image* img, size_t mask)
|
||||
bool all_free;
|
||||
|
||||
if ((mask & IMGDATA_FRAMES) && image_has_frames(img)) {
|
||||
- struct imgdec* decoder = &img->data->decoder;
|
||||
struct array* frames = img->data->frames;
|
||||
-
|
||||
- if (decoder->data) {
|
||||
- decoder->free(img->data);
|
||||
- }
|
||||
- memset(decoder, 0, sizeof(*decoder));
|
||||
-
|
||||
for (size_t i = 0; i < frames->size; ++i) {
|
||||
struct imgframe* frame = arr_nth(frames, i);
|
||||
pixmap_free(&frame->pm);
|
||||
@@ -52,12 +45,21 @@ bool image_clear(struct image* img, size_t mask)
|
||||
img->data->frames = NULL;
|
||||
}
|
||||
|
||||
+ // automatically free decoder if there are no frames
|
||||
+ if (!image_has_frames(img)) {
|
||||
+ struct imgdec* decoder = &img->data->decoder;
|
||||
+ if (decoder->data) {
|
||||
+ decoder->free(img->data);
|
||||
+ }
|
||||
+ memset(decoder, 0, sizeof(*decoder));
|
||||
+ }
|
||||
+
|
||||
if ((mask & IMGDATA_THUMB) && image_has_thumb(img)) {
|
||||
pixmap_free(&img->data->thumbnail);
|
||||
img->data->thumbnail.data = NULL;
|
||||
}
|
||||
|
||||
- // automatically free if there are no frames or thumbnail
|
||||
+ // automatically free info if there are no frames or thumbnail
|
||||
if (!image_has_frames(img) && !image_has_thumb(img)) {
|
||||
mask |= IMGDATA_INFO;
|
||||
}
|
||||
@@ -1,80 +0,0 @@
|
||||
# Copyright 2023-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit meson xdg
|
||||
|
||||
DESCRIPTION="A lightweight image viewer for Wayland display servers"
|
||||
HOMEPAGE="https://github.com/artemsen/swayimg"
|
||||
SRC_URI="https://github.com/artemsen/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="avif bash-completion exif exr gif heif jpeg jpegxl png raw sixel svg +sway test tiff webp X"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/wayland
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
x11-libs/libxkbcommon
|
||||
avif? ( media-libs/libavif:= )
|
||||
bash-completion? ( app-shells/bash-completion )
|
||||
exif? ( media-libs/libexif )
|
||||
exr? ( media-libs/openexr:= )
|
||||
gif? ( media-libs/giflib:= )
|
||||
heif? ( media-libs/libheif:= )
|
||||
jpeg? ( media-libs/libjpeg-turbo:= )
|
||||
jpegxl? ( media-libs/libjxl:= )
|
||||
png? ( media-libs/libpng:= )
|
||||
raw? ( media-libs/libraw:= )
|
||||
sixel? ( media-libs/libsixel )
|
||||
svg? (
|
||||
dev-libs/glib:2
|
||||
gnome-base/librsvg:2
|
||||
x11-libs/cairo[X=]
|
||||
)
|
||||
sway? ( dev-libs/json-c:= )
|
||||
tiff? ( media-libs/tiff:= )
|
||||
webp? ( media-libs/libwebp:= )"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-libs/wayland-protocols
|
||||
svg? ( X? ( x11-base/xorg-proto ) )
|
||||
"
|
||||
BDEPEND="
|
||||
dev-util/wayland-scanner
|
||||
test? ( dev-cpp/gtest )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# From upstream, fix potential memory leak
|
||||
"${FILESDIR}"/${P}-fix_memlk.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature avif)
|
||||
$(meson_feature exif)
|
||||
$(meson_feature exr)
|
||||
$(meson_feature gif)
|
||||
$(meson_feature heif)
|
||||
$(meson_feature jpeg)
|
||||
$(meson_feature jpegxl jxl)
|
||||
$(meson_feature png)
|
||||
$(meson_feature raw)
|
||||
$(meson_feature sixel)
|
||||
$(meson_feature svg)
|
||||
$(meson_feature sway)
|
||||
$(meson_feature test tests)
|
||||
$(meson_feature tiff)
|
||||
$(meson_feature webp)
|
||||
$(meson_feature bash-completion bash)
|
||||
-Dversion=${PV}
|
||||
-Ddesktop=true
|
||||
-Dman=true
|
||||
-Dzsh=enabled
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
Reference in New Issue
Block a user