summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-11-23 17:42:43 +0000
committerSam James <sam@gentoo.org>2024-11-23 17:43:28 +0000
commita5d24a109bf52c23c565f26d795efdeaf010978c (patch)
tree5408ea9a9b18e5efdacfae19cd8aef34c2a63cb1 /media-gfx
parentprofiles: Mask Qt5 packages without revdeps (diff)
downloadgentoo-a5d24a109bf52c23c565f26d795efdeaf010978c.tar.gz
gentoo-a5d24a109bf52c23c565f26d795efdeaf010978c.tar.bz2
gentoo-a5d24a109bf52c23c565f26d795efdeaf010978c.zip
media-gfx/xloadimage: fix modern C issue
* Fix sed delimiter for CFLAGS * Fix modern C issue (thanks Stephane Bakhos) Closes: https://bugs.gentoo.org/710428 Closes: https://bugs.gentoo.org/920772 Thanks-to: Stephane Bakhos <nuitari@nuitari.net> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/xloadimage/files/xloadimage-4.1-c99.patch15
-rw-r--r--media-gfx/xloadimage/xloadimage-4.1-r17.ebuild96
2 files changed, 111 insertions, 0 deletions
diff --git a/media-gfx/xloadimage/files/xloadimage-4.1-c99.patch b/media-gfx/xloadimage/files/xloadimage-4.1-c99.patch
new file mode 100644
index 000000000000..6da8b008aa86
--- /dev/null
+++ b/media-gfx/xloadimage/files/xloadimage-4.1-c99.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/920772#c11
+Signed-off-by: Stephane Bakhos <nuitari@nuitari.net>
+--- a/pdsuncomp.c
++++ b/pdsuncomp.c
+@@ -421,8 +421,8 @@
+ static char obuf[2048];
+ char ibuf[2048];
+ int left;
+- int in_length;
+- static int out_length= 2048, out_ptr= 0;
++ long int in_length;
++ static long int out_length= 2048, out_ptr= 0;
+
+ if (Decompressing) {
+ left= size;
diff --git a/media-gfx/xloadimage/xloadimage-4.1-r17.ebuild b/media-gfx/xloadimage/xloadimage-4.1-r17.ebuild
new file mode 100644
index 000000000000..17ba67ea90d1
--- /dev/null
+++ b/media-gfx/xloadimage/xloadimage-4.1-r17.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="Utility to view many different types of images under X11"
+HOMEPAGE="https://sioseis.ucsd.edu/xloadimage.html https://tracker.debian.org/pkg/xloadimage"
+SRC_URI="
+ ftp://ftp.x.org/R5contrib/${P/-/.}.tar.gz
+ mirror://gentoo/${P}-gentoo-r1.diff.bz2
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-fix-build-for-clang16.patch.xz
+"
+S="${WORKDIR}"/${P/-/.}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="tiff jpeg png"
+
+RDEPEND="x11-libs/libX11
+ tiff? ( media-libs/tiff:= )
+ png? ( media-libs/libpng:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ !media-gfx/xli"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${WORKDIR}"/${P}-gentoo-r1.diff
+ "${FILESDIR}"/${P}-zio-shell-meta-char.diff
+ "${FILESDIR}"/${P}-endif.patch
+ # Do not define errno extern, but rather include errno.h
+ # <azarah@gentoo.org> (1 Jan 2003)
+ "${FILESDIR}"/${P}-include-errno_h.patch
+ "${FILESDIR}"/xloadimage-gentoo.patch
+ "${FILESDIR}"/${P}-unaligned-access.patch
+ "${FILESDIR}"/${P}-ldflags_and_exit.patch
+ "${FILESDIR}"/${P}-libpng15.patch
+ "${WORKDIR}"/${P}-fix-build-for-clang16.patch
+ # One of the previous patches screws up a bracket...
+ "${FILESDIR}"/${P}-bracket.patch
+ "${FILESDIR}"/${P}-fix-incomp-function-pointer-types.patch
+ "${FILESDIR}"/${P}-c99.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e "s|OPT_FLAGS=|OPT_FLAGS=$CFLAGS|" Make.conf || die
+ sed -i -e "s:^#include <varargs.h>:#include <stdarg.h>:" rlelib.c || die
+ # qa-sed sees no-op on the next sed on non-gentoo-prefix systems,
+ # but that is alright
+ sed -i -e "/^DEFS = /s:/etc:${EPREFIX}/etc:" Makefile.in || die
+ sed -i \
+ -e 's:png_set_gray_1_2_4_to_8:png_set_expand_gray_1_2_4_to_8:' \
+ png.c || die
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cflags -std=gnu17
+
+ # Set TIFFHeader to TIFFHeaderCommon wrt #319383
+ has_version '>=media-libs/tiff-4.0.0_pre' && \
+ append-flags -DTIFFHeader=TIFFHeaderCommon
+
+ tc-export CC
+ econf $(use_with jpeg) \
+ $(use_with png) \
+ $(use_with tiff)
+}
+
+src_compile() {
+ emake SYSPATHFILE="${EPREFIX}"/etc/X11/Xloadimage
+}
+
+src_install() {
+ dobin xloadimage uufilter
+
+ dosym xloadimage /usr/bin/xsetbg
+ dosym xloadimage /usr/bin/xview
+
+ insinto /etc/X11
+ doins xloadimagerc
+
+ newman xloadimage.man xloadimage.1
+ newman uufilter.man uufilter.1
+
+ echo ".so man1/xloadimage.1" > "${T}"/xsetbg.1 || die
+ doman "${T}"/xsetbg.1
+ newman "${T}"/xsetbg.1 xview.1
+
+ dodoc README
+}