sci-electronics/gtkwave: add 3.3.125

update HOMEPAGE
update SRC_URI (redirect)
update metadata with github repo uses for issues and the dev branch
update license to GPL2+ (see metainfo.xml)

fix VariableOrder

deps:
add wayland / X for GTK to avoid automagic
add deps inherited by gtk+:3
add app-arch/bzip2, required
add net-libs/libtirpc, forced w/ --with-tirpc (bug 676896)

export PKG_CONFIG
use an array for econf
use gsettings (and gnome2-utils)
disable struct-pack (runtime errors w/ UBSAN

unconditionally install doc/examples files, not built

patches to fix bashism, getopt/musl, c23

Closes: https://bugs.gentoo.org/676896
Closes: https://bugs.gentoo.org/898072
Closes: https://bugs.gentoo.org/943812
Closes: https://bugs.gentoo.org/945794
Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/43987
Closes: https://github.com/gentoo/gentoo/pull/43987
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Nicolas PARLANT 2025-09-30 05:21:02 +02:00 committed by Sam James
parent 8ae1b0c4c5
commit f239359ae9
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
6 changed files with 207 additions and 1 deletions

View File

@ -1,3 +1,4 @@
DIST gtkwave-3.3.106.tar.gz 3507185 BLAKE2B 89389c6eef2fb80b82b048fc94248cf6b30ec0d8fea1260189f2ea1f143123e0294d00f93a0c25f777b6e2c188041af16f4e26e5206e0c65fe23c1f058b19186 SHA512 4deec8dc88210ae542b8066763265450530756d34babf10c7820fe27b23d01e6d2f084ec74b7b0730a645fcb667ba3c0d2dcfb4111e702a523805041dc96768a
DIST gtkwave-gtk3-3.3.111.tar.gz 3329907 BLAKE2B 523c5b3cb75581d9828d6a1e61df66a0a85ccc41415c9971affaf347948bc7a3b7850cf8abe4f3e57dab56d2f54722a121a8d3b757993d008e1598e4f2ce8843 SHA512 407c1ca87d9645940201c876846e7e6f5e4af67b919a4f63061adc017b2797be5ba10bb9bf132f1b86dff111a64b774e41b8b1630fc99997b5270622eda44c0c
DIST gtkwave-gtk3-3.3.121.tar.gz 3367669 BLAKE2B 42a015de4d569bd41ac54972d1c4998abb753049e3f28d270c693f8108d5c2d56322494c899cc33121c8fcb01bdace90678fb014f039553284dc317a3dbb190c SHA512 d440a3553125490800f801d5f23461c0745e511c518e0eedd346a2fe2a087c4362488f4a018cba0b22af694e433b070fef882453b9c49e6d9fbe2e1b44966d26
DIST gtkwave-gtk3-3.3.125.tar.gz 3513826 BLAKE2B 58a9dde2fe7dc1536dea6075bd37cce7c16a74e01c653da84dcce9048fa84ecf2aae2cc086d1ec39889ac95c5f616a7f258d20d098e3710c74663b40278b1348 SHA512 840c1f8c03cabb987633d2f7d06eefcaf9bc08a7942eef6e52faf5ac1a1ca6f5550314305593342916646a2a4a6c0609683a5c3235c7149bcb7b9f72558257e5

View File

@ -0,0 +1,32 @@
https://github.com/gtkwave/gtkwave/pull/455.patch
remove bashism
the dev branch uses meson
--- a/configure
+++ b/configure
@@ -7036,7 +7036,7 @@ $as_echo "$EXZ" >&6; }
LIBXZ_LDADD=
LIBXZ_CFLAGS=
-if test "X$EXZ" == "Xyes"; then
+if test "X$EXZ" = "Xyes"; then
have_liblzma=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -7126,7 +7126,7 @@ fi
$as_echo "$FASTTREE" >&6; }
FASTTREE_CFLAGS=
-if test "X$FASTTREE" == "Xno"; then
+if test "X$FASTTREE" = "Xno"; then
FASTTREE_CFLAGS='-DWAVE_DISABLE_FAST_TREE'
fi
@@ -7153,7 +7153,7 @@ $as_echo "$EJUDY" >&6; }
LIBJUDY_LDADD=
LIBJUDY_CFLAGS=
-if test "X$EJUDY" == "Xyes"; then
+if test "X$EJUDY" = "Xyes"; then
have_libjudy=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */

View File

@ -0,0 +1,51 @@
https://github.com/gtkwave/gtkwave/pull/455.patch
fix c23, remove old-style definition
the files have been removed in the dev branch
--- a/contrib/rtlbrowse/definehash.c
+++ b/contrib/rtlbrowse/definehash.c
@@ -46,9 +46,7 @@ inline
#endif
#endif
static unsigned int
-hash (str, len)
- register const char *str;
- register unsigned int len;
+hash (register const char *str, register unsigned int len)
{
static const unsigned char asso_values[] =
{
@@ -110,9 +108,7 @@ __attribute__ ((__gnu_inline__))
#endif
#endif
const char *
-is_builtin_define (str, len)
- register const char *str;
- register unsigned int len;
+is_builtin_define (register const char *str, register unsigned int len)
{
static const char * const wordlist[] =
{
--- a/src/vcd_keywords.c
+++ b/src/vcd_keywords.c
@@ -58,9 +58,7 @@ inline
#endif
#endif
static unsigned int
-keyword_hash (str, len)
- register const char *str;
- register unsigned int len;
+keyword_hash (register const char *str, register unsigned int len)
{
static const unsigned char asso_values[] =
{
@@ -101,9 +99,7 @@ __attribute__ ((__gnu_inline__))
#endif
#endif
const struct vcd_keyword *
-check_identifier (str, len)
- register const char *str;
- register unsigned int len;
+check_identifier (register const char *str, register unsigned int len)
{
static const struct vcd_keyword wordlist[] =
{

View File

@ -0,0 +1,18 @@
see https://bugs.gentoo.org/945794
https://github.com/gtkwave/gtkwave/pull/455.patch
apply same ifdef as main.c
the getopt files have been deleted in the dev branch
--- a/src/globals.c
+++ b/src/globals.c
@@ -18,7 +18,11 @@
#include "fgetdynamic.h"
#include "ghw.h"
#include "globals.h"
+#ifdef HAVE_GETOPT_LONG
+#include <getopt.h>
+#else
#include "gnu-getopt.h"
+#endif
#include "gnu_regex.h"
#include "gtk23compat.h"
#include "lx2.h"

View File

@ -0,0 +1,102 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic gnome2-utils toolchain-funcs xdg
MY_P="${PN}-gtk3-${PV}"
DESCRIPTION="Wave viewer for LXT, LXT2, VZT, GHW and standard Verilog VCD/EVCD files"
HOMEPAGE="https://gtkwave.github.io/gtkwave/"
SRC_URI="https://downloads.sourceforge.net/project/${PN}/${MY_P}/${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2+ MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
IUSE="fasttree judy lzma tcl wayland X"
RDEPEND="
app-arch/bzip2
dev-libs/glib:2
sys-libs/zlib
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/pango
x11-libs/gtk+:3[wayland?,X?]
judy? ( dev-libs/judy )
tcl? (
dev-lang/tcl:0=
dev-lang/tk:0=
)
lzma? ( app-arch/xz-utils )
"
DEPEND="
${RDEPEND}
net-libs/libtirpc
"
BDEPEND="
dev-util/gperf
virtual/pkgconfig
"
PATCHES=(
# https://github.com/gtkwave/gtkwave/pull/455
"${FILESDIR}"/${PN}-3.3.125-fix_bashism.patch
"${FILESDIR}"/${PN}-3.3.125-fix_c23.patch
"${FILESDIR}"/${PN}-3.3.125-fix_musl.patch
)
src_prepare() {
default
# doc and examples are installed manually then in the right path
sed -i -e 's/doc examples//' Makefile.in || die
}
src_configure() {
# defang automagic dependencies
use wayland || append-cppflags -DGENTOO_GTK_HIDE_WAYLAND
use X || append-cppflags -DGENTOO_GTK_HIDE_X11
export ac_cv_path_PKG_CONFIG="$(tc-getPKG_CONFIG)"
local myeconfargs=(
--disable-mime-update
--disable-struct-pack # runtime error w/ UBSAN
--enable-largefile
--enable-gtk3
--with-gsettings
--with-tirpc
$(use_enable tcl)
$(use_enable lzma xz)
$(use_enable fasttree)
$(use_enable judy)
)
econf "${myeconfargs[@]}"
}
src_compile() {
# AR for tcl.m4
emake AR="$(tc-getAR)"
}
src_install() {
default
insinto /usr/share/metainfo
doins share/appdata/io.github.gtkwave.GTKWave.metainfo.xml
dodoc doc/${PN}.odt
dodoc -r examples
docompress -x /usr/share/doc/${PF}/examples /usr/share/doc/${PF}/${PN}.odt
}
pkg_postinst() {
xdg_pkg_postinst
gnome2_schemas_update
}
pkg_postrm() {
xdg_pkg_postrm
gnome2_schemas_update
}

View File

@ -17,6 +17,8 @@
<flag name="packed">Enables '#pragma pack' for data arrays (saves memory, costs time).</flag>
</use>
<upstream>
<remote-id type="sourceforge">gtkwave</remote-id>
<bugs-to>https://github.com/gtkwave/gtkwave/issues</bugs-to>
<remote-id type="sourceforge">gtkwave</remote-id><!-- lts -->
<remote-id type="github">gtkwave/gtkwave</remote-id><!-- dev -->
</upstream>
</pkgmetadata>