diff --git a/.gitignore b/.gitignore index 6190263..0ad5db2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ +/gtkwave-3.3.20.tar.gz /gtkwave-48.png /gtkwave-32.png /gtkwave-16.png -/gtkwave-3.3.15.tar.gz diff --git a/gtkwave-3.3.20-bz690920.patch b/gtkwave-3.3.20-bz690920.patch new file mode 100644 index 0000000..42c3d76 --- /dev/null +++ b/gtkwave-3.3.20-bz690920.patch @@ -0,0 +1,35 @@ +Index: gtkwave3/src/helpers/lxt2_read.c +=================================================================== +--- gtkwave3/src/helpers/lxt2_read.c (revision 1) ++++ gtkwave3/src/helpers/lxt2_read.c (revision 27) +@@ -1507,8 +1507,8 @@ + off_t fspos = b->filepos; + int rc; + +- char *zbuff=NULL; +- int zlen = 0; ++ int zlen = 16; ++ char *zbuff=malloc(zlen); + struct z_stream_s strm; + + real_uncompressed_siz = b->uncompressed_siz; +@@ -1544,11 +1544,15 @@ + strm.next_in = (unsigned char *)(zbuff+10); + strm.next_out = (unsigned char *)(pnt); + +- rc = inflateInit2(&strm, -MAX_WBITS); +- while (Z_OK == (rc = inflate(&strm, Z_NO_FLUSH))); +- rc = inflateEnd(&strm); +- if(strm.total_out!=unclen) ++ if((clen != 0)&&(unclen != 0)) + { ++ rc = inflateInit2(&strm, -MAX_WBITS); ++ while (Z_OK == (rc = inflate(&strm, Z_NO_FLUSH))); ++ rc = inflateEnd(&strm); ++ } ++ ++ if((strm.total_out!=unclen)||(clen == 0)||(unclen == 0)) ++ { + fprintf(stderr, LXT2_RDLOAD"short read on subblock %ld vs "LXT2_RD_LD" (exp), ignoring\n", strm.total_out, unclen); + free(b->mem); b->mem=NULL; + b->short_read_ignore = 1; diff --git a/gtkwave.spec b/gtkwave.spec index ba409b5..fadcf8f 100644 --- a/gtkwave.spec +++ b/gtkwave.spec @@ -5,17 +5,18 @@ Summary: Waveform Viewer Name: gtkwave -Version: 3.3.15 -Release: %{?prerel:0.}1%{?prerel:.%{prerel}}%{?dist} +Version: 3.3.20 +Release: %{?prerel:0.}2%{?prerel:.%{prerel}}%{?dist} License: GPLv2+ Group: Applications/Engineering URL: http://gtkwave.sourceforge.net/ Source0: http://gtkwave.sourceforge.net/gtkwave-%{version}%{?prerel}.tar.gz +Patch0: gtkwave-3.3.20-bz690920.patch Source1: gtkwave.desktop Source2: gtkwave-16.png Source3: gtkwave-32.png Source4: gtkwave-48.png -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(id -nu) BuildRequires: gtk2-devel, bzip2-devel, Judy-devel, xz-devel, zlib-devel BuildRequires: gperf, flex, desktop-file-utils %if 0%{?fedora} > 1 || 0%{?rhel} > 3 @@ -33,7 +34,10 @@ tools. %prep %setup -q -n gtkwave-%{version}%{?prerel} -%{__cp} -p .gtkwaverc gtkwaverc.sample +cp -p .gtkwaverc gtkwaverc.sample + +# Tentative upstream fix for crash when reading malformed LXT file (#690920) +%patch0 -p1 %build %{configure} --disable-dependency-tracking \ @@ -41,20 +45,20 @@ tools. --disable-tcl \ %endif --enable-judy -%{__make} %{?_smp_mflags} +make %{?_smp_mflags} %install -%{__rm} -rf %{buildroot} -%{__make} install \ +rm -rf %{buildroot} +make install \ DESTDIR=%{buildroot} \ pkgdatadir=%{_docdir}/gtkwave-%{version} \ - INSTALL="%{__install} -p" + INSTALL="install -p" # Icons and desktop entry -/usr/bin/desktop-file-install --vendor "" --dir %{buildroot}%{_datadir}/applications %{SOURCE1} -%{__install} -D -m 644 -p %{SOURCE2} %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/gtkwave.png -%{__install} -D -m 644 -p %{SOURCE3} %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/gtkwave.png -%{__install} -D -m 644 -p %{SOURCE4} %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/gtkwave.png +desktop-file-install --vendor "" --dir %{buildroot}%{_datadir}/applications %{SOURCE1} +install -D -m 644 -p %{SOURCE2} %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/gtkwave.png +install -D -m 644 -p %{SOURCE3} %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/gtkwave.png +install -D -m 644 -p %{SOURCE4} %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/gtkwave.png # Include extra docs for extradoc in \ @@ -66,11 +70,11 @@ for extradoc in \ MIT.TXT \ SYSTEMVERILOG_README.TXT do - %{__install} -p -m 644 ${extradoc} %{buildroot}%{_docdir}/gtkwave-%{version}/ + install -p -m 644 ${extradoc} %{buildroot}%{_docdir}/gtkwave-%{version}/ done %clean -%{__rm} -rf %{buildroot} +rm -rf %{buildroot} %post touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : @@ -130,6 +134,66 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_mandir}/man5/gtkwaverc.5* %changelog +* Tue Mar 29 2011 Paul Howarth 3.3.20-2 +- tentative upstream fix for crash when reading malformed LXT file (#690920) +- nobody else likes macros for commands + +* Fri Feb 25 2011 Paul Howarth 3.3.20-1 +- update to 3.3.20 + - fixed uninitialized mat variable in compress_facility() + - added --slider-zoom option to gtkwave to enable experimental horizontal + slider zoom feature with GTK2 + - fix vcd2fst so it can handle zero-length VCD event variables in their + declarations + +* Wed Feb 09 2011 Fedora Release Engineering - 3.3.19-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Feb 7 2011 Paul Howarth 3.3.19-1 +- update to 3.3.19 + - more sanity checking in vcd2fst to prevent crashes on malformed files + - rewrote support for compressed signal handling (FST only) + - shmidcat now exits on EOF + - added sys_fst.c VPI source for NC Verilog and XL + - added component typename dumping into sys_fst.c so that NC can dump + component names + - added component type names in gtk2 tree (only used by FST so far) + - memory usage improvements on 64-bit architectures + - fixed top/bottom pane resizing bug after reload in SST window + - fixed crashes in hierarchy search widget for GHW where standard, textio, + std_logic_1164, etc. were selectable + - fixed reload scroll position for bottom TreeView in SST window + +* Wed Dec 29 2010 Paul Howarth 3.3.18-1 +- update to 3.3.18 + - minor bug fixes for corner cases + - assembler fixes for x86_64 + - preliminary support for variable length records in FST files + - added fstUtilityBinToEsc and fstUtilityEscToBin for conversion of binary + data to C-style strings + - allow escaped strings in VCD files to encode a richer set of data for + non-standard "s" VCD records + - to comply with fst2vcd, vcd readers now handle "string" variable type + keyword + - add detection for Verilog XL-style VCD identifiers in all VCD loaders in + gtkwave in order to aid in indexing + - more warnings fixes + - fix mif_draw_string so it does not emit escaped character codes + +* Mon Nov 29 2010 Paul Howarth 3.3.17-1 +- update to 3.3.17 + - added sanity check in dynamic alias reconstruct routine in FST reader and + also fixed bug where alias reconstruction in current blocks doesn't + overwrite previous, old block data + +* Thu Nov 25 2010 Paul Howarth 3.3.16-1 +- update to 3.3.16 + - remove unused JError variables and replace with PJE0 macro + - added experimental dynamic alias detection in fst writer when building + with Judy support + - added Jenkins hash routine to enable dynamic alias detection when Judy + support is not available + * Thu Nov 11 2010 Paul Howarth 3.3.15-1 - update to 3.3.15 - fixes for fstapi file reading and writing diff --git a/sources b/sources index 278c704..94330ff 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -102b71665b4b4dfbf94b0d4eec06d61f gtkwave-3.3.15.tar.gz +91f35ce56817b1a0b37a904be4e5f021 gtkwave-3.3.20.tar.gz 4fdb2fec2b6d9732e2f111c6cd63b788 gtkwave-48.png 410c50539074403d3a3240f7c9209b11 gtkwave-32.png 2cc7754492918591242bc38a0b11d2a5 gtkwave-16.png