commit:     28497ea57eaecb26ce33c0fc18f124aae7c69973
Author:     Takuya Wakazono <pastalian46 <AT> gmail <DOT> com>
AuthorDate: Sun Jan 11 12:18:55 2026 +0000
Commit:     Takuya Wakazono <pastalian46 <AT> gmail <DOT> com>
CommitDate: Sun Jan 11 12:18:55 2026 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=28497ea5

app-text/komikku: add 1.99.0

Signed-off-by: Takuya Wakazono <pastalian46 <AT> gmail.com>

 app-text/komikku/Manifest                          |  1 +
 .../komikku-1.99.0-revert-pixbuf-2.44.3.patch      | 84 +++++++++++++++++++
 app-text/komikku/komikku-1.99.0.ebuild             | 95 ++++++++++++++++++++++
 3 files changed, 180 insertions(+)

diff --git a/app-text/komikku/Manifest b/app-text/komikku/Manifest
index c79d28b958..840e23ebe6 100644
--- a/app-text/komikku/Manifest
+++ b/app-text/komikku/Manifest
@@ -1 +1,2 @@
 DIST komikku-1.86.0.tar.gz 4612281 BLAKE2B 
cbb5c36843fc191e1048e20f5662cd1862720a64365884cca95befba57e9a149c461cb87f2ff02cbf92847810becd2979adbdd294e00a516ddbdfa89aa31278d
 SHA512 
d754c5dab7ae9d1652c30157d9b546cc1805e7b6ace12bca8164a60934b3696676a3870e91e1b9948b1bccbd841a537e9152a8a7f5e7d9c7a18bc3c98cafea3d
+DIST komikku-1.99.0.tar.gz 4691630 BLAKE2B 
5c5cd7e6deff649be4c4758109e8061ffc872d4212e8eb08264306d3b6d493f8fdde0ff9ab9e06e323f00e33d0b68e97e724811a220f370da941765b4c1280f0
 SHA512 
c38252baf5a957a4364e1e5f759d2d9bc14228b6763dbe7aa85808a9355593a30e5cd4124232576d7cf2e46b5f1dbcf87ea5594948acf9d0161fa4a682c22a85

diff --git a/app-text/komikku/files/komikku-1.99.0-revert-pixbuf-2.44.3.patch 
b/app-text/komikku/files/komikku-1.99.0-revert-pixbuf-2.44.3.patch
new file mode 100644
index 0000000000..5559bbd7f6
--- /dev/null
+++ b/app-text/komikku/files/komikku-1.99.0-revert-pixbuf-2.44.3.patch
@@ -0,0 +1,84 @@
+https://codeberg.org/valos/Komikku/commit/64d61284f12606df42248755ffc6f628c7bab178
+Revert "Set minimal version of gdk-pixbuf to 2.44.3"
+
+x11-libs/gdk-pixbuf-2.44.3 is not packaged yet.
+This reverts commit 64d61284f12606df42248755ffc6f628c7bab178.
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -45,9 +45,8 @@ endif
+ #
+ # Dependencies
+ #
+-dependency('gobject-introspection-1.0')
+ dependency('glib-2.0')
+-dependency('gdk-pixbuf-2.0', version: '>=2.44.3')
++dependency('gobject-introspection-1.0')
+ dependency('gtk4', version: '>=4.18')
+ dependency('libadwaita-1', version: '>=1.8')
+ 
+--- a/komikku/consts.py
++++ b/komikku/consts.py
+@@ -6,6 +6,7 @@ COVER_WIDTH = 180
+ COVER_HEIGHT = 256
+ LOGO_SIZE = 32
+ MISSING_IMG_RESOURCE_PATH = '/info/febvre/Komikku/images/missing_file.png'
++PIXBUF_ANIMATION = False
+ 
+ DOWNLOAD_MAX_DELAY = 1  # in seconds
+ REQUESTS_TIMEOUT = 5
+--- a/komikku/reader/pager/image.py
++++ b/komikku/reader/pager/image.py
+@@ -27,6 +27,7 @@ from gi.repository.GdkPixbuf import Pixbuf
+ from gi.repository.GdkPixbuf import PixbufAnimation
+ 
+ from komikku.consts import MISSING_IMG_RESOURCE_PATH
++from komikku.consts import PIXBUF_ANIMATION
+ from komikku.utils import get_image_info
+ 
+ logger = logging.getLogger('komikku')
+@@ -542,7 +543,7 @@ class KImage(Gtk.Widget, Gtk.Scrollable):
+             elif data:
+                 stream = Gio.MemoryInputStream.new_from_data(data, None)
+ 
+-            if not info['is_animated']:
++            if not info['is_animated'] or not PIXBUF_ANIMATION:
+                 Pixbuf.new_from_stream_async(stream, None, self.load_ready, 
callback, info)
+             else:
+                 PixbufAnimation.new_from_stream_async(stream, None, 
self.load_ready, callback, info)
+@@ -580,7 +581,7 @@ class KImage(Gtk.Widget, Gtk.Scrollable):
+         stream.close()
+ 
+         try:
+-            if not info['is_animated']:
++            if not info['is_animated'] or not PIXBUF_ANIMATION:
+                 pixbuf = Pixbuf.new_from_stream_finish(result)
+ 
+                 self.textures = []
+--- a/komikku/utils.py
++++ b/komikku/utils.py
+@@ -36,6 +36,7 @@ from gi.repository import Gtk
+ from gi.repository.GdkPixbuf import Pixbuf
+ from gi.repository.GdkPixbuf import PixbufAnimation
+ 
++from komikku.consts import PIXBUF_ANIMATION
+ from komikku.consts import REQUESTS_TIMEOUT
+ 
+ logger = logging.getLogger('komikku')
+@@ -615,7 +616,7 @@ class CoverLoader(GObject.GObject):
+ 
+         try:
+             stream = Gio.MemoryInputStream.new_from_data(data, None)
+-            if info['is_animated'] and not static_animation:
++            if info['is_animated'] and not static_animation and 
PIXBUF_ANIMATION:
+                 pixbuf = PixbufAnimation.new_from_stream(stream)
+             else:
+                 pixbuf = Pixbuf.new_from_stream(stream)
+@@ -634,7 +635,7 @@ class CoverLoader(GObject.GObject):
+             return None
+ 
+         try:
+-            if info['is_animated'] and not static_animation:
++            if info['is_animated'] and not static_animation and 
PIXBUF_ANIMATION:
+                 pixbuf = PixbufAnimation.new_from_file(path)
+             else:
+                 pixbuf = Pixbuf.new_from_file(path)

diff --git a/app-text/komikku/komikku-1.99.0.ebuild 
b/app-text/komikku/komikku-1.99.0.ebuild
new file mode 100644
index 0000000000..1f714fbe62
--- /dev/null
+++ b/app-text/komikku/komikku-1.99.0.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{12..14} )
+PYTHON_REQ_USE="sqlite(+),ssl(+)"
+DISTUTILS_USE_PEP517=no
+DISTUTILS_SINGLE_IMPL=1
+inherit distutils-r1 meson gnome2-utils xdg
+
+DESCRIPTION="Manga reader for GNOME"
+HOMEPAGE="https://apps.gnome.org/Komikku/";
+SRC_URI="https://codeberg.org/valos/Komikku/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="CC0-1.0 CC-BY-4.0 GPL-3+ OFL-1.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RESTRICT="test"
+# Depend on a random server that may or may not be accessible.
+#PROPERTIES="test_network"
+
+DEPEND="
+       dev-libs/glib:2
+       dev-libs/gobject-introspection
+       >=gui-libs/gtk-4.18:4
+       >=gui-libs/libadwaita-1.8:1[introspection]
+       net-libs/webkit-gtk:6[introspection]
+"
+RDEPEND="
+       ${DEPEND}
+       $(python_gen_cond_dep '
+               >=app-arch/brotli-1.2.0[python,${PYTHON_USEDEP}]
+               dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+               dev-python/modern-colorthief[${PYTHON_USEDEP}]
+               dev-python/cryptography[${PYTHON_USEDEP}]
+               dev-python/dateparser[${PYTHON_USEDEP}]
+               dev-python/emoji[${PYTHON_USEDEP}]
+               dev-python/keyring[${PYTHON_USEDEP}]
+               dev-python/lxml[${PYTHON_USEDEP}]
+               dev-python/natsort[${PYTHON_USEDEP}]
+               dev-python/piexif[${PYTHON_USEDEP}]
+               >=dev-python/pillow-11.3.0[${PYTHON_USEDEP}]
+               dev-python/pygobject[${PYTHON_USEDEP}]
+               >=dev-python/pyjwt-2.10.1[${PYTHON_USEDEP}]
+               >=dev-python/pypdf-6.4.2[${PYTHON_USEDEP}]
+               dev-python/python-magic[${PYTHON_USEDEP}]
+               dev-python/rarfile[compressed,${PYTHON_USEDEP}]
+               >=dev-python/requests-2.32.4[${PYTHON_USEDEP}]
+               dev-python/unidecode[${PYTHON_USEDEP}]
+       ')
+"
+BDEPEND="
+       dev-util/blueprint-compiler
+       sys-devel/gettext
+"
+
+PATCHES=(
+       # x11-libs/gdk-pixbuf-2.44.3 is not packaged yet
+       "${FILESDIR}/${P}-revert-pixbuf-2.44.3.patch"
+)
+
+EPYTEST_PLUGINS=( pytest-steps )
+distutils_enable_tests pytest
+
+src_prepare() {
+       distutils-r1_src_prepare
+
+       # fix broken shebang
+       sed "s|py_installation.full_path()|'${PYTHON}'|" -i bin/meson.build || 
die
+}
+
+src_test() {
+       emake setup
+       emake develop
+       emake test
+}
+
+src_install() {
+       meson_src_install
+       python_optimize
+}
+
+pkg_postinst() {
+       gnome2_schemas_update
+       xdg_pkg_postinst
+}
+
+pkg_postrm() {
+       gnome2_schemas_update
+       xdg_pkg_postrm
+}

Reply via email to