diff options
author | 2025-01-15 15:21:39 +0400 | |
---|---|---|
committer | 2025-02-10 09:05:47 +0000 | |
commit | 2eb2b82b8c4cb09ac49b8fbb493a3ac43c1a139a (patch) | |
tree | 2af5add963fd7386f88e53f5fb143a3d9a4faf4a /media-gfx | |
parent | sys-apps/audio-entropyd: Drop unused uclibc patch (diff) | |
download | gentoo-2eb2b82b8c4cb09ac49b8fbb493a3ac43c1a139a.tar.gz gentoo-2eb2b82b8c4cb09ac49b8fbb493a3ac43c1a139a.tar.bz2 gentoo-2eb2b82b8c4cb09ac49b8fbb493a3ac43c1a139a.zip |
media-gfx/xloadimage: fix incompatible function pointer types on musl
Replaces previous patch that fixed it on glibc only
Bug: https://bugs.gentoo.org/924114
Signed-off-by: NHOrus <jy6x2b32pie9@yahoo.com>
Closes: https://github.com/gentoo/gentoo/pull/40143
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-gfx')
-rw-r--r-- | media-gfx/xloadimage/files/xloadimage-4.1-fix-incomp-function-pointer-musl.patch | 14 | ||||
-rw-r--r-- | media-gfx/xloadimage/xloadimage-4.1-r18.ebuild | 97 |
2 files changed, 111 insertions, 0 deletions
diff --git a/media-gfx/xloadimage/files/xloadimage-4.1-fix-incomp-function-pointer-musl.patch b/media-gfx/xloadimage/files/xloadimage-4.1-fix-incomp-function-pointer-musl.patch new file mode 100644 index 000000000000..ab76b835c899 --- /dev/null +++ b/media-gfx/xloadimage/files/xloadimage-4.1-fix-incomp-function-pointer-musl.patch @@ -0,0 +1,14 @@ +__signalhandler_t isn't defined on musl, one needs to drill down to bare type definition +so code builds both on glibc and musl systems +https://bugs.gentoo.org/924114 +--- a/window.c ++++ b/window.c +@@ -833,7 +833,7 @@ char imageInWindow (Display *disp, int scrn, Image *image, OptionSet *global_opt + /* reset alarm to -delay seconds after every event */ + #ifdef ENABLE_TIMEOUT + AlarmWentOff = 0; +- signal(SIGALRM, delayAlarmHandler); ++ signal(SIGALRM, (void (*)(int))delayAlarmHandler); + alarm(delay); + #endif /* ENABLE_TIMEOUT */ + } diff --git a/media-gfx/xloadimage/xloadimage-4.1-r18.ebuild b/media-gfx/xloadimage/xloadimage-4.1-r18.ebuild new file mode 100644 index 000000000000..848cd70d77c4 --- /dev/null +++ b/media-gfx/xloadimage/xloadimage-4.1-r18.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2025 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} + x11-base/xorg-proto" + +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-musl.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 +} |