commit: 845b010e2093bf9c24d3e206c6d36cdc110177b1 Author: Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr> AuthorDate: Fri Sep 19 13:27:36 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Sep 20 09:15:37 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=845b010e
media-gfx/fbida: add 2.14_p20241216 update EAPI 7->8 update license to GPL2'+' (see fbida.spec) add xdg for icon/desktopfile restore useflags compare to live ebuild deps : remove blocker for media-gfx/fbi, removed drop media-libs/libepoxy media-libs/mesa (gl removed) curl support has been dropped udev is required make fbcon optional with dev-libs/libtsm and dev-libs/glib2 fix gcc-15/c23 Closes: https://bugs.gentoo.org/943772 Closes: https://bugs.gentoo.org/955090 Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr> Part-of: https://github.com/gentoo/gentoo/pull/43858 Signed-off-by: Sam James <sam <AT> gentoo.org> media-gfx/fbida/Manifest | 1 + media-gfx/fbida/fbida-2.14_p20241216.ebuild | 88 +++ media-gfx/fbida/files/fbida-2.14-fix_c23.patch | 591 +++++++++++++++++++++ media-gfx/fbida/files/fbida-2.14-libtsm4.patch | 13 + .../fbida/files/fbida-2.14-rm_automagic.patch | 42 ++ 5 files changed, 735 insertions(+) diff --git a/media-gfx/fbida/Manifest b/media-gfx/fbida/Manifest index 4fcf2f723516..f337b367904b 100644 --- a/media-gfx/fbida/Manifest +++ b/media-gfx/fbida/Manifest @@ -1,2 +1,3 @@ DIST fbida-2.14.tar.gz 296826 BLAKE2B 0015b426c5deaf72737a52bddb065e7d0cb804ea97157dded522061d8fabb5c632d5e66b1ef1b4e75b355537ef4f4e603f3a877e2ef92d1581eaa4791ab5be99 SHA512 8f3596ad8a22497880ac698d3b324e038ac5ccae7481fe4a902fc6e8bf43ba1bb3a96af8c7a3347bea86c1988f35674e2647901ac256bd4e8261d467a6a343ec +DIST fbida-2.14_p20241216.tar.gz 308330 BLAKE2B d41769191bd0cf577a899a61fe492764b08c7ac8dff0f399e0fe471fd07174fc7aa3c8a85757125d56a2bfc0689ab2aa73ed3699ede18a17fda4f157bdacf5f3 SHA512 8213220a0fa1bd41078634e864783bf2ecff0e80f34326ef0e16cbab7e12765ed1c5e8916d14e699b9415bfa1cec2ff62d0843f8ca7174fa11c70c67d5ce9234 DIST ida.png.bz2 11928 BLAKE2B 8a1c89fc5adfb16c69f9591a299beb62c84d66960b586fbc819e53f904c90beef821ecf3539236563644c28e3ad3c7dbf861b140c820be649305a658b3613433 SHA512 cf3c1bc8d25fe75f10c0a0414b5c082348df2fa94864ec4537c36e0b357cf35b68e2eca205bbf48578a41c27317701aee621c6dd176e0bf3857c52f895d6bfd3 diff --git a/media-gfx/fbida/fbida-2.14_p20241216.ebuild b/media-gfx/fbida/fbida-2.14_p20241216.ebuild new file mode 100644 index 000000000000..938cec95b04a --- /dev/null +++ b/media-gfx/fbida/fbida-2.14_p20241216.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit desktop flag-o-matic meson toolchain-funcs xdg + +COMMIT_HASH="3db896c0f3d60372cbd20467a4debb5a3620ad20" +DESCRIPTION="Image viewers for the framebuffer console (fbi) and X11 (ida)" +HOMEPAGE="https://www.kraxel.org/blog/linux/fbida/" +SRC_URI=" + https://github.com/kraxel/fbida/archive/${COMMIT_HASH}.tar.gz -> ${P}.tar.gz + mirror://gentoo/ida.png.bz2 +" +S="${WORKDIR}/${PN}-${COMMIT_HASH}" + +LICENSE="GPL-2+ IJG" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="fbcon +gif pdf +png systemd +tiff +webp X" + +RDEPEND=" + dev-libs/libinput:= + media-libs/fontconfig + media-libs/freetype + media-libs/libexif + media-libs/libjpeg-turbo:= + sys-apps/systemd-utils[udev] + virtual/ttf-fonts + x11-libs/cairo + x11-libs/libdrm + x11-libs/libxkbcommon + x11-libs/pixman + fbcon? ( + dev-libs/glib:2 + dev-libs/libtsm:= + ) + gif? ( media-libs/giflib:= ) + pdf? ( app-text/poppler[cairo] ) + png? ( media-libs/libpng:= ) + tiff? ( media-libs/tiff:= ) + webp? ( media-libs/libwebp:= ) + X? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXpm + x11-libs/libXt + x11-libs/motif[xft] + ) +" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" + +PATCHES=( + "${FILESDIR}"/ida-desktop.patch + "${FILESDIR}"/${PN}-2.14-rm_automagic.patch + "${FILESDIR}"/${PN}-2.14-cpp.patch + "${FILESDIR}"/${PN}-2.14-libtsm4.patch + "${FILESDIR}"/${PN}-2.14-fix_c23.patch +) + +src_configure() { + # 955090 + append-cppflags -DHAVE_PROTOTYPES + + export CPP="$(tc-getCPP)" + local emesonargs=( + $(meson_feature fbcon) + $(meson_feature gif) + $(meson_feature X motif) + $(meson_feature pdf) + $(meson_feature png) + $(meson_feature systemd) + $(meson_feature tiff) + $(meson_feature webp) + ) + + meson_src_configure +} + +src_install() { + meson_src_install + + dodoc Changes README.{ida,md} TODO + + doicon "${WORKDIR}"/ida.png + domenu desktop/ida.desktop +} diff --git a/media-gfx/fbida/files/fbida-2.14-fix_c23.patch b/media-gfx/fbida/files/fbida-2.14-fix_c23.patch new file mode 100644 index 000000000000..3a60709801e5 --- /dev/null +++ b/media-gfx/fbida/files/fbida-2.14-fix_c23.patch @@ -0,0 +1,591 @@ +Rebased from an maintained fork of motif : +https://github.com/dimmus/motif/blob/master/src/examples/lib/Xmd/RegEdit.c +https://github.com/kraxel/fbida/pull/6.patch +--- a/RegEdit.c ++++ b/RegEdit.c +@@ -34,19 +34,19 @@ + + + /* static forward. move from global in the original Editres code */ +-static void _XEditResCheckMessages(); +-static void _XEditResPutString8(); +-static void _XEditResPut8(); +-static void _XEditResPut16(); +-static void _XEditResPut32(); +-static void _XEditResPutWidgetInfo(); +-static void _XEditResResetStream(); +-static Boolean _XEditResGet8(); +-static Boolean _XEditResGet16(); +-static Boolean _XEditResGetSigned16(); +-static Boolean _XEditResGet32(); +-static Boolean _XEditResGetString8(); +-static Boolean _XEditResGetWidgetInfo(); ++static void _XEditResCheckMessages(Widget w, XtPointer data, XEvent *event, Boolean *cont); ++static void _XEditResPutString8(ProtocolStream *stream, char *str); ++static void _XEditResPut8(ProtocolStream *stream, unsigned int value); ++static void _XEditResPut16(ProtocolStream *stream, unsigned int value); ++static void _XEditResPut32(ProtocolStream *stream, unsigned long value); ++static void _XEditResPutWidgetInfo(ProtocolStream *stream, WidgetInfo *info); ++static void _XEditResResetStream(ProtocolStream *stream); ++static Boolean _XEditResGet8(ProtocolStream *stream, unsigned char *val); ++static Boolean _XEditResGet16(ProtocolStream *stream, unsigned short *val); ++static Boolean _XEditResGetSigned16(ProtocolStream *stream, short *val); ++static Boolean _XEditResGet32(ProtocolStream *stream, unsigned long *val); ++static Boolean _XEditResGetString8(ProtocolStream *stream, char **str); ++static Boolean _XEditResGetWidgetInfo(ProtocolStream *stream, WidgetInfo *info); + + /* the only entry point here */ + void +@@ -140,16 +140,24 @@ static Atom res_editor_command, res_editor_protocol, client_value; + + static Globals globals; + +-static void SendFailure(), SendCommand(), InsertWidget(), ExecuteCommand(); +-static void FreeEvent(), ExecuteSetValues(), ExecuteGetGeometry(); +-static void ExecuteGetResources(); +- +-static void GetCommand(); +-static void LoadResources(); +-static Boolean IsChild(); +-static void DumpChildren(); +-static char *DumpWidgets(), *DoSetValues(), *DoFindChild(); +-static char *DoGetGeometry(), *DoGetResources(); ++static void SendFailure(Widget w, Atom sel, ResIdent ident, char *message); ++static void SendCommand(Widget w, Atom sel, ResIdent ident, EditresCommand command, ProtocolStream *stream); ++static void InsertWidget(ProtocolStream *stream, Widget w); ++static void ExecuteCommand(Widget w, Atom sel, ResIdent ident, EditresEvent *event); ++static void FreeEvent(EditresEvent *event); ++static void ExecuteSetValues(Widget w, SetValuesEvent *sv_event, WidgetInfo *entry, ProtocolStream *stream, unsigned short *count); ++static void ExecuteGetGeometry(Widget w, ProtocolStream *stream); ++static void ExecuteGetResources(Widget w, ProtocolStream *stream); ++ ++static void GetCommand(Widget w, XtPointer data, Atom *selection, Atom *type, XtPointer value, unsigned long *length, int *format); ++static void LoadResources(Widget w); ++static Boolean IsChild(Widget top, Widget parent, Widget child); ++static void DumpChildren(Widget w, ProtocolStream *stream, unsigned short *count); ++static char *DumpWidgets(Widget w, EditresEvent *event, ProtocolStream *stream); ++static char *DoSetValues(Widget w, EditresEvent *event, ProtocolStream *stream); ++static char *DoFindChild(Widget w, EditresEvent *event, ProtocolStream *stream); ++static char *DoGetGeometry(Widget w, EditresEvent *event, ProtocolStream *stream); ++static char *DoGetResources(Widget w, EditresEvent *event, ProtocolStream *stream); + + /************************************************************ + * +@@ -170,11 +178,7 @@ static char *DoGetGeometry(), *DoGetResources(); + + /* ARGSUSED */ + static void +-_XEditResCheckMessages(w, data, event, cont) +-Widget w; +-XtPointer data; +-XEvent *event; +-Boolean *cont; ++_XEditResCheckMessages(Widget w, XtPointer data, XEvent *event, Boolean *cont) + { + Time time; + ResIdent ident; +@@ -208,7 +212,7 @@ Boolean *cont; + if (c_event->data.l[3] != CURRENT_PROTOCOL_VERSION) { + _XEditResResetStream(&globals.stream); + _XEditResPut8(&globals.stream, CURRENT_PROTOCOL_VERSION); +- SendCommand(w, res_comm, ident, ProtocolMismatch, &globals.stream); ++ SendCommand(w, res_comm, ident, (EditresCommand)ProtocolMismatch, &globals.stream); + return; + } + +@@ -231,12 +235,7 @@ Boolean *cont; + #define ERROR_MESSAGE ("Client: Improperly formatted protocol request") + + static EditresEvent * +-BuildEvent(w, sel, data, ident, length) +-Widget w; +-Atom sel; +-XtPointer data; +-ResIdent ident; +-unsigned long length; ++BuildEvent(Widget w, Atom sel, XtPointer data, ResIdent ident, unsigned long length) + { + EditresEvent * event; + ProtocolStream alloc_stream, *stream; +@@ -253,7 +252,7 @@ unsigned long length; + */ + + if (length < HEADER_SIZE) { +- SendFailure(w, sel, ident, Failure, ERROR_MESSAGE); ++ SendFailure(w, sel, ident, ERROR_MESSAGE); + return(NULL); + } + +@@ -375,8 +374,7 @@ unsigned long length; + */ + + static void +-FreeEvent(event) +-EditresEvent * event; ++FreeEvent(EditresEvent *event) + { + if (event->any_event.widgets != NULL) { + XtFree((char *)event->any_event.widgets->ids); +@@ -401,12 +399,7 @@ EditresEvent * event; + + /* ARGSUSED */ + static void +-GetCommand(w, data, selection, type, value, length, format) +-Widget w; +-XtPointer data, value; +-Atom *selection, *type; +-unsigned long *length; +-int * format; ++GetCommand(Widget w, XtPointer data, Atom *selection, Atom *type, XtPointer value, unsigned long *length, int *format) + { + ResIdent ident = (ResIdent) (long) data; + EditresEvent * event; +@@ -433,13 +426,9 @@ int * format; + + /* ARGSUSED */ + static void +-ExecuteCommand(w, sel, ident, event) +-Widget w; +-Atom sel; +-ResIdent ident; +-EditresEvent * event; ++ExecuteCommand(Widget w, Atom sel, ResIdent ident, EditresEvent *event) + { +- char * (*func)(); ++ char * (*func)(Widget w, EditresEvent *event, ProtocolStream *stream); + char * str; + + if (globals.block == BlockAll) { +@@ -481,7 +470,7 @@ EditresEvent * event; + + _XEditResResetStream(&globals.stream); + if ((str = (*func)(w, event, &globals.stream)) == NULL) +- SendCommand(w, sel, ident, PartialSuccess, &globals.stream); ++ SendCommand(w, sel, ident, (EditresCommand)PartialSuccess, &globals.stream); + else { + SendFailure(w, sel, ident, str); + XtFree(str); +@@ -502,13 +491,8 @@ EditresEvent * event; + + /* ARGSUSED */ + static Boolean +-ConvertReturnCommand(w, selection, target, +- type_ret, value_ret, length_ret, format_ret) +-Widget w; +-Atom * selection, * target, * type_ret; +-XtPointer *value_ret; +-unsigned long * length_ret; +-int * format_ret; ++ConvertReturnCommand(Widget w, Atom *selection, Atom *target, ++ Atom *type_ret, XtPointer *value_ret, unsigned long *length_ret, int *format_ret) + { + /* + * I assume the intrinsics give me the correct selection back. +@@ -533,10 +517,7 @@ int * format_ret; + + /* ARGSUSED */ + static void +-CommandDone(widget, selection, target) +-Widget widget; +-Atom *selection; +-Atom *target; ++CommandDone(Widget widget, Atom *selection, Atom *target) + { + /* Keep the toolkit from automaticaly freeing the selection value */ + } +@@ -551,15 +532,11 @@ Atom *target; + */ + + static void +-SendFailure(w, sel, ident, str) +-Widget w; +-Atom sel; +-ResIdent ident; +-char * str; ++SendFailure(Widget w, Atom sel, ResIdent ident, char *str) + { + _XEditResResetStream(&globals.stream); + _XEditResPutString8(&globals.stream, str); +- SendCommand(w, sel, ident, Failure, &globals.stream); ++ SendCommand(w, sel, ident, (EditresCommand)Failure, &globals.stream); + } + + /* Function Name: BuildReturnPacket +@@ -571,10 +548,7 @@ char * str; + */ + + static XtPointer +-BuildReturnPacket(ident, command, stream) +-ResIdent ident; +-EditresCommand command; +-ProtocolStream * stream; ++BuildReturnPacket(ResIdent ident, EditresCommand command, ProtocolStream *stream) + { + long old_alloc, old_size; + unsigned char * old_current; +@@ -619,12 +593,7 @@ ProtocolStream * stream; + */ + + static void +-SendCommand(w, sel, ident, command, stream) +-Widget w; +-Atom sel; +-ResIdent ident; +-EditresCommand command; +-ProtocolStream * stream; ++SendCommand(Widget w, Atom sel, ResIdent ident, EditresCommand command, ProtocolStream *stream) + { + BuildReturnPacket(ident, command, stream); + globals.command_stream = stream; +@@ -656,9 +625,7 @@ ProtocolStream * stream; + */ + + static int +-FindChildren(parent, children, normal, popup) +-Widget parent, **children; +-Boolean normal, popup; ++FindChildren(Widget parent, Widget **children, Boolean normal, Boolean popup) + { + CompositeWidget cw = (CompositeWidget) parent; + int i, num_children, current = 0; +@@ -698,8 +665,7 @@ Boolean normal, popup; + */ + + static Boolean +-IsChild(top, parent, child) +-Widget top, parent, child; ++IsChild(Widget top, Widget parent, Widget child) + { + int i, num_children; + Widget * children; +@@ -728,9 +694,7 @@ Widget top, parent, child; + */ + + static char * +-VerifyWidget(w, info) +-Widget w; +-WidgetInfo *info; ++VerifyWidget(Widget w, WidgetInfo *info) + { + Widget top; + +@@ -774,10 +738,7 @@ WidgetInfo *info; + */ + + static char * +-DoSetValues(w, event, stream) +-Widget w; +-EditresEvent * event; +-ProtocolStream * stream; ++DoSetValues(Widget w, EditresEvent *event, ProtocolStream *stream) + { + char * str; + register unsigned i; +@@ -819,9 +780,7 @@ ProtocolStream * stream; + + /* ARGSUSED */ + static void +-HandleToolkitErrors(name, type, class, msg, params, num_params) +-String name, type, class, msg, *params; +-Cardinal * num_params; ++HandleToolkitErrors(String name, String type, String class, String msg, String *params, Cardinal *num_params) + { + SVErrorInfo * info = &globals.error_info; + char buf[BUFSIZ]; +@@ -863,12 +822,7 @@ Cardinal * num_params; + */ + + static void +-ExecuteSetValues(w, sv_event, entry, stream, count) +-Widget w; +-SetValuesEvent * sv_event; +-WidgetInfo * entry; +-ProtocolStream * stream; +-unsigned short * count; ++ExecuteSetValues(Widget w, SetValuesEvent *sv_event, WidgetInfo *entry, ProtocolStream *stream, unsigned short *count) + { + XtErrorMsgHandler old; + +@@ -907,10 +861,7 @@ unsigned short * count; + + /* ARGSUSED */ + static char * +-DumpWidgets(w, event, stream) +-Widget w; +-EditresEvent * event; /* UNUSED */ +-ProtocolStream * stream; ++DumpWidgets(Widget w, EditresEvent *event, ProtocolStream *stream) + { + unsigned short count = 0; + +@@ -950,8 +901,7 @@ ProtocolStream * stream; + * go that far. Then, we test whether it is an applicationShellWidget + * class by looking for an explicit class name. Seems pretty safe. + */ +-static Bool isApplicationShell(w) +- Widget w; ++static Bool isApplicationShell(Widget w) + { + register WidgetClass c; + +@@ -965,10 +915,7 @@ static Bool isApplicationShell(w) + } + + static void +-DumpChildren(w, stream, count) +-Widget w; +-ProtocolStream * stream; +-unsigned short *count; ++DumpChildren(Widget w, ProtocolStream *stream, unsigned short *count) + { + int i, num_children; + Widget *children; +@@ -1024,10 +971,7 @@ unsigned short *count; + */ + + static char * +-DoGetGeometry(w, event, stream) +-Widget w; +-EditresEvent * event; +-ProtocolStream * stream; ++DoGetGeometry(Widget w, EditresEvent *event, ProtocolStream *stream) + { + unsigned i; + char * str; +@@ -1061,9 +1005,7 @@ ProtocolStream * stream; + */ + + static void +-ExecuteGetGeometry(w, stream) +-Widget w; +-ProtocolStream * stream; ++ExecuteGetGeometry(Widget w, ProtocolStream *stream) + { + int i; + Boolean mapped_when_man; +@@ -1137,9 +1079,7 @@ ProtocolStream * stream; + */ + + static Boolean +-PositionInChild(child, x, y) +-Widget child; +-int x, y; ++PositionInChild(Widget child, int x, int y) + { + Arg args[6]; + Cardinal num; +@@ -1192,9 +1132,7 @@ int x, y; + */ + + static Widget +-_FindChild(parent, x, y) +-Widget parent; +-int x, y; ++_FindChild(Widget parent, int x, int y) + { + Widget * children; + int i = FindChildren(parent, &children, TRUE, FALSE); +@@ -1224,10 +1162,7 @@ int x, y; + */ + + static char * +-DoFindChild(w, event, stream) +-Widget w; +-EditresEvent * event; +-ProtocolStream * stream; ++DoFindChild(Widget w, EditresEvent *event, ProtocolStream *stream) + { + char * str; + Widget parent, child; +@@ -1264,10 +1199,7 @@ ProtocolStream * stream; + */ + + static char * +-DoGetResources(w, event, stream) +-Widget w; +-EditresEvent * event; +-ProtocolStream * stream; ++DoGetResources(Widget w, EditresEvent *event, ProtocolStream *stream) + { + unsigned int i; + char * str; +@@ -1302,9 +1234,7 @@ ProtocolStream * stream; + */ + + static void +-ExecuteGetResources(w, stream) +-Widget w; +-ProtocolStream * stream; ++ExecuteGetResources(Widget w, ProtocolStream *stream) + { + XtResourceList norm_list, cons_list; + Cardinal num_norm, num_cons; +@@ -1365,9 +1295,7 @@ ProtocolStream * stream; + */ + + static void +-InsertWidget(stream, w) +-ProtocolStream * stream; +-Widget w; ++InsertWidget(ProtocolStream *stream, Widget w) + { + Widget temp; + unsigned long * widget_list; +@@ -1408,9 +1336,7 @@ Widget w; + */ + + static void +-_XEditResPutString8(stream, str) +-ProtocolStream * stream; +-char * str; ++_XEditResPutString8(ProtocolStream *stream, char *str) + { + int i, len = strlen(str); + +@@ -1427,9 +1353,7 @@ char * str; + */ + + static void +-_XEditResPut8(stream, value) +-ProtocolStream * stream; +-unsigned int value; ++_XEditResPut8(ProtocolStream *stream, unsigned int value) + { + unsigned char temp; + +@@ -1455,9 +1379,7 @@ unsigned int value; + */ + + static void +-_XEditResPut16(stream, value) +-ProtocolStream * stream; +-unsigned int value; ++_XEditResPut16(ProtocolStream *stream, unsigned int value) + { + _XEditResPut8(stream, (value >> XER_NBBY) & BYTE_MASK); + _XEditResPut8(stream, value & BYTE_MASK); +@@ -1471,9 +1393,7 @@ unsigned int value; + */ + + static void +-_XEditResPut32(stream, value) +-ProtocolStream * stream; +-unsigned long value; ++_XEditResPut32(ProtocolStream *stream, unsigned long value) + { + int i; + +@@ -1489,9 +1409,7 @@ unsigned long value; + */ + + static void +-_XEditResPutWidgetInfo(stream, info) +-ProtocolStream * stream; +-WidgetInfo * info; ++_XEditResPutWidgetInfo(ProtocolStream *stream, WidgetInfo *info) + { + unsigned int i; + +@@ -1513,8 +1431,7 @@ WidgetInfo * info; + */ + + static void +-_XEditResResetStream(stream) +-ProtocolStream * stream; ++_XEditResResetStream(ProtocolStream *stream) + { + stream->current = stream->top; + stream->size = 0; +@@ -1545,9 +1462,7 @@ ProtocolStream * stream; + */ + + static Boolean +-_XEditResGet8(stream, val) +-ProtocolStream * stream; +-unsigned char * val; ++_XEditResGet8(ProtocolStream *stream, unsigned char *val) + { + if (stream->size < (stream->current - stream->top)) + return(FALSE); +@@ -1565,9 +1480,7 @@ unsigned char * val; + */ + + static Boolean +-_XEditResGet16(stream, val) +-ProtocolStream * stream; +-unsigned short * val; ++_XEditResGet16(ProtocolStream *stream, unsigned short *val) + { + unsigned char temp1, temp2; + +@@ -1586,9 +1499,7 @@ unsigned short * val; + */ + + static Boolean +-_XEditResGetSigned16(stream, val) +-ProtocolStream * stream; +-short * val; ++_XEditResGetSigned16(ProtocolStream *stream, short *val) + { + unsigned char temp1, temp2; + +@@ -1615,9 +1526,7 @@ short * val; + */ + + static Boolean +-_XEditResGet32(stream, val) +-ProtocolStream * stream; +-unsigned long * val; ++_XEditResGet32(ProtocolStream *stream, unsigned long *val) + { + unsigned short temp1, temp2; + +@@ -1637,9 +1546,7 @@ unsigned long * val; + */ + + static Boolean +-_XEditResGetString8(stream, str) +-ProtocolStream * stream; +-char ** str; ++_XEditResGetString8(ProtocolStream *stream, char **str) + { + unsigned short len; + register unsigned i; +@@ -1670,9 +1577,7 @@ char ** str; + */ + + static Boolean +-_XEditResGetWidgetInfo(stream, info) +-ProtocolStream * stream; +-WidgetInfo * info; ++_XEditResGetWidgetInfo(ProtocolStream *stream, WidgetInfo *info) + { + unsigned int i; + +@@ -1708,14 +1613,10 @@ WidgetInfo * info; + + /* ARGSUSED */ + static Boolean +-CvtStringToBlock(dpy, args, num_args, from_val, to_val, converter_data) +-Display * dpy; +-XrmValue * args; +-Cardinal * num_args; +-XrmValue * from_val, * to_val; +-XtPointer * converter_data; ++CvtStringToBlock(Display *dpy, XrmValue *args, Cardinal *num_args, XrmValue *from_val, XrmValue *to_val, XtPointer *converter_data) + { + char ptr[BUFSIZ]; ++ ptr[0]='\0'; + static EditresBlock block; + + /* XmuCopyISOLatin1Lowered(ptr, from_val->addr);*/ +@@ -1763,8 +1664,7 @@ XtPointer * converter_data; + */ + + static void +-LoadResources(w) +-Widget w; ++LoadResources(Widget w) + { + static XtResource resources[] = { + {"editresBlock", "EditresBlock", XtREditresBlock, sizeof(EditresBlock), diff --git a/media-gfx/fbida/files/fbida-2.14-libtsm4.patch b/media-gfx/fbida/files/fbida-2.14-libtsm4.patch new file mode 100644 index 000000000000..098e8700f0e4 --- /dev/null +++ b/media-gfx/fbida/files/fbida-2.14-libtsm4.patch @@ -0,0 +1,13 @@ +fix API libtsm-4.0.0 (https://github.com/Aetf/libtsm/commit/78a34f9b0d338064e29935d5d7470e1c541ee741) +https://github.com/kraxel/fbida/pull/5.patch +--- a/fbcon.c ++++ b/fbcon.c +@@ -241,7 +241,7 @@ struct color fbcon_tsm_color(const struct tsm_screen_attr *attr, + return c; + } + +-int fbcon_tsm_draw_cb(struct tsm_screen *con, uint32_t id, ++int fbcon_tsm_draw_cb(struct tsm_screen *con, uint64_t id, + const uint32_t *ch, size_t len, + unsigned int width, unsigned int posx, unsigned int posy, + const struct tsm_screen_attr *attr, diff --git a/media-gfx/fbida/files/fbida-2.14-rm_automagic.patch b/media-gfx/fbida/files/fbida-2.14-rm_automagic.patch new file mode 100644 index 000000000000..82d50b548448 --- /dev/null +++ b/media-gfx/fbida/files/fbida-2.14-rm_automagic.patch @@ -0,0 +1,42 @@ +make fbcon and systemd optional +--- a/meson.build ++++ b/meson.build +@@ -24,9 +24,9 @@ webp_dep = dependency('libwebp', required : get_option('webp')) + udev_dep = dependency('libudev') + input_dep = dependency('libinput') + xkb_dep = dependency('xkbcommon') +-glib_dep = dependency('glib-2.0') +-tsm_dep = dependency('libtsm', required : false) +-systemd_dep = dependency('libsystemd', required : false, version : '>=237') ++glib_dep = dependency('glib-2.0', required : get_option('fbcon')) ++tsm_dep = dependency('libtsm', required : get_option('fbcon')) ++systemd_dep = dependency('libsystemd', required : get_option('systemd'), version : '>=237') + + # other library deps + cc = meson.get_compiler('c') +@@ -74,7 +74,7 @@ if get_option('webp').enabled() + read_srcs += 'rd/read-webp.c' + config.set('HAVE_LIBWEBP', true) + endif +-if systemd_dep.found() ++if systemd_dep.found() and get_option('systemd').enabled() + config.set('HAVE_SYSTEMD', true) + endif + +@@ -155,7 +155,7 @@ fbcon_srcs = [ 'fbcon.c', 'drmtools.c', 'fbtools.c', 'gfx.c', + fbcon_deps = [ drm_dep, cairo_dep, util_dep, udev_dep, input_dep, xkb_dep, glib_dep, + tsm_dep, systemd_dep ] + +-if tsm_dep.found() and target_machine.system() == 'linux' ++if tsm_dep.found() and target_machine.system() == 'linux' and get_option('fbcon').enabled() + executable('fbcon', + sources : fbcon_srcs, + dependencies : fbcon_deps, +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -4,3 +4,5 @@ option('tiff', type: 'feature', value : 'enabled') + option('webp', type: 'feature', value : 'auto') + option('motif', type: 'feature', value : 'auto') + option('pdf', type: 'feature', value : 'enabled') ++option('fbcon', type: 'feature', value : 'auto') ++option('systemd', type: 'feature', value : 'auto')
