summaryrefslogtreecommitdiff
path: root/x11-libs/xbae
diff options
context:
space:
mode:
Diffstat (limited to 'x11-libs/xbae')
-rw-r--r--x11-libs/xbae/Manifest3
-rw-r--r--x11-libs/xbae/files/xbae-4.60.4-c23.patch167
-rw-r--r--x11-libs/xbae/xbae-4.60.4-r2.ebuild (renamed from x11-libs/xbae/xbae-4.60.4.ebuild)20
3 files changed, 186 insertions, 4 deletions
diff --git a/x11-libs/xbae/Manifest b/x11-libs/xbae/Manifest
index 7d109f7324a9..59b66a586a20 100644
--- a/x11-libs/xbae/Manifest
+++ b/x11-libs/xbae/Manifest
@@ -1,4 +1,5 @@
AUX xbae-4.60.4-Makefile.in.patch 751 BLAKE2B cc40a6d58a1e6ae6c68f2dd989807fedac591c6e107dbda4d9876e93070142e2b8809db93efcf7866cc2adfb1df6e5ad39bb27575e260669606a5c882be13b37 SHA512 0fbbb49dd9dcb5571591ef214fc5318f8a4b09966a8cac6b94d17e1554747714d4aa79387fde970d0e83804397f5fe7e9988ec82164023ab3d2562397ba31308
+AUX xbae-4.60.4-c23.patch 5558 BLAKE2B 3f2c7b6816f9fa85c7cc8f0aa9fdac53c7165a034dfad2cebae11db356593afca9ac50ea390b050aee070a9ff338908e5a970e5bc7ee8cc45f58ec6b006e5b1f SHA512 6887ac4e4f6eda45fb4136fa524fb3fb73f2f9b103ceb17e7929b75eb6c089c164e40cd7466e044346ca9e45fafdb4edededea085f509709faca74ae29a1f3b3
AUX xbae-4.60.4-c99.patch 616 BLAKE2B df43e5fb1917e29f00f7b9d69df7a0564bb25fb27cac23ebd78db24477281f451a2fa4d3a12bcc36b7d870c239e3447de6d0c7f3b77fcd47f0b10a98148b1964 SHA512 0dfd293552629076fe09d9dd41ff0b8992c3dc3d16df6501b4f568d2df67fa541c23febbd0c34fab9acb0a7bc93169f5d184ee479abb9b40417efe94b94d455b
AUX xbae-4.60.4-configure-c99.patch 1686 BLAKE2B beab19070e946eab6eb4e4887db7ec307171e930bda9506f81102e7ddc9637fadb3b6d1264abcd9c86bdcb9d7f9ad6b1424af974b1d30ac1662c88fda4d3a468 SHA512 8e82c59fbc6ee08896094aeef97f2ff29b35bc117299dd23128c19276c30186bbe8e1d4df14c77c12febbaf805cdb2da729bc1683fc2e4950bf01b352e0927c1
AUX xbae-4.60.4-lxmp.patch 364 BLAKE2B c7defbca432abd679c5afbab2e95de3270097617d7a52cf4c781d3d44e36887c18901a045d9ca36d107aa71343e7f1ce974ec0634062318a56c14351335e8425 SHA512 90a348e0f67b3954ce2c1965e4252ef5b1be9b0c6c232981219a79af5a705dcc09bada6e87b7a2ae25e9d9220130c1321af90d079843317cc82d8e2a11dd78fa
@@ -6,5 +7,5 @@ AUX xbae-4.60.4-modern-autotools.patch 1056 BLAKE2B 37dd68c32bb8a80f950b5279120c
AUX xbae-4.60.4-tmpl.patch 182 BLAKE2B fb68a556359b2825879567ad53e4fcdcb3f5d41198cc8f3bb7626e45251881b8b7e7ebc4f244c4df0973d21e62a797d38b7a429dc94ca84a97700a4f2f9055d8 SHA512 dc360679441f2c8a4642a8b12b624acc739e4e7bd4ccb931d385212e418291eaf8d05501a420cb0407ab953826cd477634938c1b3fb89b3aa5ea1fefa57a8a60
DIST xbae-4.60.4.tar.gz 1770938 BLAKE2B c9790dae438a4a35ca58274d96b3d4cdcf61191e3c8336e7df3df419a64a790bd010890f88082add21c304ec520ddec3545915c5babf267bd9ebb985b0acf0f4 SHA512 e9c2ea59ab598217a5d6a3df0b86ca9fa084c364116d9789334984a0ac83dec0d5b5e3fb643e067036fca10f13b175f6d5134325eb5041af614a4ed00745ba16
EBUILD xbae-4.60.4-r1.ebuild 1483 BLAKE2B 8585f1be4bb41e6f66ef69bf9fa8a0096d5b7d2ddc56070831b5ca636b6651ac0a2c50bb07670d13ca8874fe1ccd764cbf2e701dd834522d28848505eccaa2b6 SHA512 2d5e97d1f16db2461fa0e95a0dac982db25505dbd4c46cbc81482f201e697f5c997f99d030636f6f2ebc6641fc496bffe05390a6070b76d4057d49c2a69d7dd4
-EBUILD xbae-4.60.4.ebuild 1250 BLAKE2B 73ecf4bfea40201928d7f4b0bd241f780278a337ece83d96b215e09ad7245c39db2ff515881981860bef38cd58701a8c3f05e9840577724b61b499994baffeca SHA512 c066ca21fbf50439f09f601950f446d2c500208104489004df2b41c373866f311326f7dc1229aeb6f8311168cb87aabbd7e18ee46af9e8e5594d7999722c7d47
+EBUILD xbae-4.60.4-r2.ebuild 1518 BLAKE2B 7705f7c280e5dc3acc7e67da3cc3702db2026b9ccdc1f2e4276977141c349f4be146a7cfffeb01bb79313b90c10dd7e0f93de4c17efda1d9bd6382fbd322f792 SHA512 1f4fb4c3b13a0f34c6536acfb39147c99453cdf08a3272a8bd08c289fbb9dd9117f1e02e4ae66e01f3a7ef72b6132f075b5514e59e5e998e7c48843ad8e68483
MISC metadata.xml 966 BLAKE2B edf4afe356cada257f2c1421d8c3f647ed4ebd4f32e2537a75c681f91cd08edd8328e92eef088bd3e77a8b47c1390920a4cc43697ff34e5e5004d3947353caa1 SHA512 d605fc363f55d3a6db056d2d35b8481ea6c1e900fe3416e11a0295e5cc2a4ad4e63a2b04b027dc544d43d09e54b8d8bce1647f73283f82353f61247360a50d86
diff --git a/x11-libs/xbae/files/xbae-4.60.4-c23.patch b/x11-libs/xbae/files/xbae-4.60.4-c23.patch
new file mode 100644
index 000000000000..2031d744007a
--- /dev/null
+++ b/x11-libs/xbae/files/xbae-4.60.4-c23.patch
@@ -0,0 +1,167 @@
+Fix two remaining problems for C99/C23 compatibility.
+With this, package builds with GCC-15.
+true and false are strings, so replacement is trivial
+and doesn't interact with ABI.
+Casts to Widget are uses everywhere in this program, and
+are correct, as MatrixWidget embeds same core struct from Xt
+as Widget consists of, as first member.
+XtRImmediate indicates that next pointer would be interpreted
+as a value, so integer reinterpreted as a pointer to low mem is
+actually fine, it won't be dereferenced and won't crash whole
+program.
+https://bugs.gentoo.org/944748
+https://bugs.gentoo.org/919195
+--- a/examples/input/input.c
++++ b/examples/input/input.c
+@@ -126,7 +126,7 @@
+ {
+ Widget toplevel, rc, pattern, cw, radio, frame;
+ XtAppContext app;
+- XmString true, false, begin, centre, end;
++ XmString true_str, false_str, begin, centre, end;
+
+ toplevel = XtVaAppInitialize(&app, "Input",
+ NULL, 0,
+@@ -160,8 +160,8 @@
+
+ XtAddCallback(input, XmNvalidateCallback, validateCB, NULL);
+
+- true = XmStringCreateSimple("True");
+- false = XmStringCreateSimple("False");
++ true_str = XmStringCreateSimple("True");
++ false_str = XmStringCreateSimple("False");
+
+ cw = XtVaCreateManagedWidget(
+ "XmNautofill", xbaeCaptionWidgetClass, rc,
+@@ -173,8 +173,8 @@
+
+ radio = XmVaCreateSimpleRadioBox(
+ frame, "XmNautoFill", 0, autoFillToggle,
+- XmVaRADIOBUTTON, false, NULL, NULL, NULL,
+- XmVaRADIOBUTTON, true, NULL, NULL, NULL,
++ XmVaRADIOBUTTON, false_str, NULL, NULL, NULL,
++ XmVaRADIOBUTTON, true_str, NULL, NULL, NULL,
+ NULL);
+
+ XtVaSetValues(radio, XmNtraversalOn, False, NULL);
+@@ -191,8 +191,8 @@
+
+ radio = XmVaCreateSimpleRadioBox(
+ frame, "XmNconvertCase", 1, convertCaseToggle,
+- XmVaRADIOBUTTON, false, NULL, NULL, NULL,
+- XmVaRADIOBUTTON, true, NULL, NULL, NULL,
++ XmVaRADIOBUTTON, false_str, NULL, NULL, NULL,
++ XmVaRADIOBUTTON, true_str, NULL, NULL, NULL,
+ NULL);
+
+ XtVaSetValues(radio, XmNtraversalOn, False, NULL);
+@@ -224,8 +224,8 @@
+
+ radio = XmVaCreateSimpleRadioBox(
+ frame, "XmNoverwriteMode", 0, overwriteModeToggle,
+- XmVaRADIOBUTTON, false, NULL, NULL, NULL,
+- XmVaRADIOBUTTON, true, NULL, NULL, NULL,
++ XmVaRADIOBUTTON, false_str, NULL, NULL, NULL,
++ XmVaRADIOBUTTON, true_str, NULL, NULL, NULL,
+ NULL);
+
+ XtVaSetValues(radio, XmNtraversalOn, False, NULL);
+@@ -254,8 +254,8 @@
+
+ XtManageChild(radio);
+
+- XmStringFree(true);
+- XmStringFree(false);
++ XmStringFree(true_str);
++ XmStringFree(false_str);
+ XmStringFree(begin);
+ XmStringFree(centre);
+ XmStringFree(end);
+--- a/examples/input/pattern.c
++++ b/examples/input/pattern.c
+@@ -128,7 +128,7 @@
+ {
+ Widget toplevel, rc, pattern, cw, radio, frame;
+ XtAppContext app;
+- XmString true, false, begin, centre, end;
++ XmString true_str, false_str, begin, centre, end;
+
+ toplevel = XtVaAppInitialize(&app, "Input",
+ NULL, 0,
+@@ -167,8 +167,8 @@
+ XmNoverwriteMode, False,
+ NULL);
+
+- true = XmStringCreateSimple("True");
+- false = XmStringCreateSimple("False");
++ true_str = XmStringCreateSimple("True");
++ false_str = XmStringCreateSimple("False");
+
+ cw = XtVaCreateManagedWidget(
+ "XmNautofill", xbaeCaptionWidgetClass, rc,
+@@ -180,8 +180,8 @@
+
+ radio = XmVaCreateSimpleRadioBox(
+ frame, "XmNautoFill", 0, autoFillToggle,
+- XmVaRADIOBUTTON, false, NULL, NULL, NULL,
+- XmVaRADIOBUTTON, true, NULL, NULL, NULL,
++ XmVaRADIOBUTTON, false_str, NULL, NULL, NULL,
++ XmVaRADIOBUTTON, true_str, NULL, NULL, NULL,
+ NULL);
+
+ XtVaSetValues(radio, XmNtraversalOn, False, NULL);
+@@ -198,8 +198,8 @@
+
+ radio = XmVaCreateSimpleRadioBox(
+ frame, "XmNconvertCase", 1, convertCaseToggle,
+- XmVaRADIOBUTTON, false, NULL, NULL, NULL,
+- XmVaRADIOBUTTON, true, NULL, NULL, NULL,
++ XmVaRADIOBUTTON, false_str, NULL, NULL, NULL,
++ XmVaRADIOBUTTON, true_str, NULL, NULL, NULL,
+ NULL);
+
+ XtVaSetValues(radio, XmNtraversalOn, False, NULL);
+@@ -231,8 +231,8 @@
+
+ radio = XmVaCreateSimpleRadioBox(
+ frame, "XmNoverwriteMode", 0, overwriteModeToggle,
+- XmVaRADIOBUTTON, false, NULL, NULL, NULL,
+- XmVaRADIOBUTTON, true, NULL, NULL, NULL,
++ XmVaRADIOBUTTON, false_str, NULL, NULL, NULL,
++ XmVaRADIOBUTTON, true_str, NULL, NULL, NULL,
+ NULL);
+
+ XtVaSetValues(radio, XmNtraversalOn, False, NULL);
+@@ -261,8 +261,8 @@
+
+ XtManageChild(radio);
+
+- XmStringFree(true);
+- XmStringFree(false);
++ XmStringFree(true_str);
++ XmStringFree(false_str);
+ XmStringFree(begin);
+ XmStringFree(centre);
+ XmStringFree(end);
+--- a/examples/tests/leak2.c
++++ b/examples/tests/leak2.c
+@@ -20,7 +20,7 @@
+
+ XtResource resources[] = {
+ { "numIter", "NumIter", XtRInt, sizeof(int),
+- XtOffsetOf(AppRes, numIter), XtRImmediate, 1000 },
++ XtOffsetOf(AppRes, numIter), XtRImmediate, (XtPointer)1000 },
+ };
+
+ int
+--- a/src/Methods.c
++++ b/src/Methods.c
+@@ -1688,7 +1688,7 @@
+ * The event must have occurred in a legal position
+ * otherwise control wouldn't have made it here
+ */
+- xbaeEventToRowColumn(mw, event, &r, &c, &x, &y);
++ xbaeEventToRowColumn((Widget) mw, event, &r, &c, &x, &y);
+ x -= mw->matrix.cell_shadow_thickness;
+ y -= mw->matrix.cell_shadow_thickness;
+ position = XmTextXYToPos(TextField(mw), x, y);
diff --git a/x11-libs/xbae/xbae-4.60.4.ebuild b/x11-libs/xbae/xbae-4.60.4-r2.ebuild
index 1feb0ce8fa06..66a6aa37f704 100644
--- a/x11-libs/xbae/xbae-4.60.4.ebuild
+++ b/x11-libs/xbae/xbae-4.60.4-r2.ebuild
@@ -1,7 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
+AT_M4DIR=${S}
+
+inherit autotools
DESCRIPTION="Motif-based widget to display a grid of cells as a spreadsheet"
HOMEPAGE="https://xbae.sourceforge.net/"
@@ -9,7 +13,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples"
# tests need X display
# and are interactive so virtualx will not help
@@ -29,8 +33,18 @@ PATCHES=(
"${FILESDIR}"/${P}-tmpl.patch
"${FILESDIR}"/${P}-lxmp.patch
"${FILESDIR}"/${P}-Makefile.in.patch
+ # https://sourceforge.net/p/xbae/patches/3/
+ "${FILESDIR}"/${P}-configure-c99.patch
+ "${FILESDIR}"/${P}-modern-autotools.patch
+ "${FILESDIR}"/${P}-c99.patch
+ "${FILESDIR}"/${P}-c23.patch
)
+src_prepare() {
+ default
+ eautoreconf
+}
+
src_configure() {
econf --enable-production
}