commit:     1c370b3aebafad706edbb6aecbad93f5ad0eebb6
Author:     Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com>
AuthorDate: Thu Aug 17 18:09:22 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat Aug 19 05:50:45 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1c370b3a

app-text/djvu: Fix C++17 does not allow register storage class

Closes: https://bugs.gentoo.org/894644
Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/32359
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 app-text/djvu/djvu-3.5.28-r4.ebuild                | 71 ++++++++++++++++++++++
 ...djvu-3.5.28-drop-register-keyword-clang16.patch | 21 +++++++
 2 files changed, 92 insertions(+)

diff --git a/app-text/djvu/djvu-3.5.28-r4.ebuild 
b/app-text/djvu/djvu-3.5.28-r4.ebuild
new file mode 100644
index 000000000000..8ca0e11bdbb9
--- /dev/null
+++ b/app-text/djvu/djvu-3.5.28-r4.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic optfeature xdg
+
+MY_P="${PN}libre-${PV#*_p}"
+DESCRIPTION="DjVu viewers, encoders and utilities"
+HOMEPAGE="https://djvu.sourceforge.net/";
+SRC_URI="https://downloads.sourceforge.net/djvu/${MY_P}.tar.gz";
+S="${WORKDIR}/${MY_P%%.3}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="debug doc jpeg tiff xml"
+
+RDEPEND="jpeg? ( media-libs/libjpeg-turbo:= )
+       tiff? ( media-libs/tiff:= )"
+DEPEND="${RDEPEND}"
+
+# inkscape/rsvg-convert are used to generate icons at build-time only
+BDEPEND="app-arch/unzip
+       || ( gnome-base/librsvg media-gfx/inkscape )"
+
+DOCS=( NEWS README )
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.5.28-drop-register-keyword-clang16.patch
+)
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       use debug && append-cppflags "-DRUNTIME_DEBUG_ONLY"
+
+       # We install all desktop files by hand.
+       econf \
+               $(use_enable xml xmltools) \
+               $(use_with jpeg) \
+               $(use_with tiff) \
+               --disable-desktopfiles
+}
+
+src_install() {
+       default
+
+       find "${ED}" -name '*.la' -delete || die
+
+       use doc && dodoc -r doc
+
+       # Install desktop files.
+       cd desktopfiles || die
+       for i in {22,32,48,64}; do
+               insinto /usr/share/icons/hicolor/${i}x${i}/mimetypes
+               newins prebuilt-hi${i}-djvu.png image-vnd.djvu.png
+       done
+
+       insinto /usr/share/mime/packages
+       doins djvulibre-mime.xml
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       optfeature "djviewer or browser plugin" app-text/djview
+}

diff --git 
a/app-text/djvu/files/djvu-3.5.28-drop-register-keyword-clang16.patch 
b/app-text/djvu/files/djvu-3.5.28-drop-register-keyword-clang16.patch
new file mode 100644
index 000000000000..dd86bb8bf130
--- /dev/null
+++ b/app-text/djvu/files/djvu-3.5.28-drop-register-keyword-clang16.patch
@@ -0,0 +1,21 @@
+Bug: https://bugs.gentoo.org/894644
+--- a/libdjvu/GBitmap.h
++++ b/libdjvu/GBitmap.h
+@@ -620,7 +620,7 @@ GBitmap::euclidian_ratio(int a, int b, int &q, int &r)
+ inline int
+ GBitmap::read_run(unsigned char *&data)
+ {
+-  register int z=*data++;
++  int z=*data++;
+   return (z>=RUNOVERFLOWVALUE)?
+     ((z&~RUNOVERFLOWVALUE)<<8)|(*data++):z;
+ }
+@@ -628,7 +628,7 @@ GBitmap::read_run(unsigned char *&data)
+ inline int
+ GBitmap::read_run(const unsigned char *&data)
+ {
+-  register int z=*data++;
++  int z=*data++;
+   return (z>=RUNOVERFLOWVALUE)?
+     ((z&~RUNOVERFLOWVALUE)<<8)|(*data++):z;
+ }

Reply via email to