http://www.baycom.org/~tom/fedora/ghdl.spec http://www.baycom.org/~tom/fedora/ghdl-0.20-3.src.rpm http://www.baycom.org/~tom/fedora/gtkwave.spec http://www.baycom.org/~tom/fedora/gtkwave-1.3.76-1.src.rpm Description: ghdl is a VHDL frontend for gcc. VHDL (VHSIC Hardware Description Language) is used to describe (digital) electronic systems. ghdl turns such descriptions into executables that, when run simulate the digital system. Waveforms of all signals can be logged to a file. gtkwave then allows these signals to be displayed.
Please use separate bugzilla entries for each package. I have a spec for gtkwave that you might want to look at, possibly taking some things from that: http://www.city-fan.org/~paul/extras/gtkwave/gtkwave.spec
(In reply to comment #1) Are you planning to request inclusion of gtkwave to fedora extras? Your spec file looks much more elaborate than mine, so I'm happy if you submit your version of gtkwave. However, I'd like the ghdl patch to be applied, it adds support for ghdl's ghw wavefile format. While ghdl also supports VCD, VCD only allows a subset of the VHDL data types.
(In reply to comment #2) > (In reply to comment #1) > > Are you planning to request inclusion of gtkwave to fedora extras? Your spec > file looks much more elaborate than mine, so I'm happy if you submit your > version of gtkwave. > > However, I'd like the ghdl patch to be applied, it adds support for ghdl's ghw > wavefile format. While ghdl also supports VCD, VCD only allows a subset of the > VHDL data types. OK, I'll do that; change this bugzilla entry to just include ghdl, I'll post a separate request for gtkwave and we can review each other's packages. Regarding the ghdl patch, have you passed it on to Tony (upstream) for inclusion in gtkwave? He's getting though around 2 releases a week at the moment, so there could be issues maintaining a patch like this if it's unsupported upstream.
I've submitted the gtkwave package for review as Bug 172579.
This package is implemented as an additional language frontend for gcc, which introduces some issues I'd like to raise with the other readers of fedora-extras-list. In this particular case, the package includes files/directories as follows: %{_bindir}/i686-pc-linux-gnu-gcc %{_bindir}/i686-pc-linux-gnu-gcc-4.0.2 %{_libdir}/gcc/i686-pc-linux-gnu/4.0.2/ %{_libexecdir}/gcc/i686-pc-linux-gnu/4.0.2/ These could potentially conflict with any other language frontend based on the same gcc version, which would not be good. I don't think this arrangement currently clashes with anything in Core or Extras, but the potential is there. One workaround I could think of would be to include the name of the language or package in the target designation, e.g. i686-pc-linux-ghdl instead of i686-pc-linux-gnu), but that doesn't look "right" to me. Any other suggestions?
Some minor issues whilst awaiting resolution of the bigger ones: * Please use full URLs for the sources: Source0: http://ghdl.free.fr/ghdl-%{version}.tar.bz2 Source1: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{gccver}/gcc-core-%{gccver}.tar.bz2 * Please use the standard Extras buildroot: BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) * The %description seems excessively long to me. How about this: GHDL is a VHDL simulator, using the GCC technology. VHDL is a language standardized by the IEEE, intended for developing electronic systems. GHDL implements the VHDL language according to the IEEE 1076-1987 or the IEEE 1076-1993 standard. It compiles VHDL files and creates a binary that simulates (or executes) your design. GHDL does not do synthesis: it cannot translate your design into a netlist. Since GHDL is a compiler (i.e., it generates object files), you can call functions or procedures written in a foreign language, such as C, C++, or Ada95. * Please include the ghdl.info file in the files list, with appropriate scriptlets to install it (see http://fedoraproject.org/wiki/ScriptletSnippets)
(In reply to comment #5) I don't have a better idea. Probably the ideal would be to base it on the same gcc version as Fedora Core uses, but historically ghdl's requirements were off by one or two gcc releases, and porting ghdl to different gcc releases seems to be nontrivial. So I would like to keep ghdl's gcc core separate from that of Fedora Core.
(In reply to comment #6) > Some minor issues whilst awaiting resolution of the bigger ones: Your wishes should now be integrated in ghdl-0.21-0.21.src.rpm, thanks! Furthermore, I upgraded the ghdl version to SVN revision 21, to make it work on x86_64 natively too. Maybe other archs (like ia64) work now too, but I can only test i386 and x86_64. Note: to display ghw output files, you should use gtkwave 1.3.78, since it fixes a ghw related bug. http://www.baycom.org/~tom/fedora/ghdl-0.21-0.21.src.rpm
(In reply to comment #8) > Note: to display ghw output files, you should use gtkwave 1.3.78, since it > fixes a ghw related bug. Bug 172579 is for a gtkwave 1.3.78 package, still awaiting review.
Created attachment 121191 [details] Patch to create info dir entry in ghdl.info Without this patch (or similar), install-info complains about a missing info dir entry.
Created attachment 121192 [details] Revised spec file This attachment is a revised spec file that attempts to address the following issues: * pull in some arch-specific tweaks from the gcc package; there are plenty more tweaks from that package that could be applied if you were sufficiently knowledgeable about gcc internals and building it. I've no idea if the package builds on anything other than i386 though because I don't have any other arch boxes to try. * remove files we don't want packaged for ghdl in %install, so that the unpackaged file checks can be turned back on * use fedora_ghdl as the machine vendor name to avoid namespace clashes with other packages * own directories properly so they get deleted on package removal * add buildreq texinfo, needed to make info file * don't include README, which is aimed at building ghdl rather than using it * only run install-info if the info file is installed, which it might not be if --excludedocs has been used when the package was installed * filter out some optflags that cause builds on rawhide to fail * some cosmetic tweaks to the spec file itself I've built this OK in mock on FC4 (i386) and it runs OK. It also builds OK in mock for rawhide. The removal of unneeded files also gets rid of most of the rpmlint errors, which is a nice bonus.
Some more changes: * added some more removes of build but not packaged files to make the build succeed on x86_64 * updated to svn 24, this fixes resolved boolean signals. Someone please sponsor me. http://www.baycom.org/~tom/fedora/ghdl.spec http://www.baycom.org/~tom/fedora/ghdl-0.21-0.24svn.1.src.rpm http://www.baycom.org/~tom/fedora/ghdl-0.21-0.24svn.1.i386.rpm http://www.baycom.org/~tom/fedora/ghdl-0.21-0.24svn.1.x86_64.rpm
Review: - package and spec file naming OK - package meets guidelines - license is GPL, matches spec, text included - spec file written in English and is legible - package builds OK in mock (rawhide i386) - BR's OK - all locale data inherited from gcc removed from buildroot, so no locale issues - no libraries, subpackages, or pkgconfigs to worry about - not relocatable - no directory ownership or permissions issues - no duplicate file problems - %clean section present and correct - macro usage is consistent - code, not content - no large docs - docs don't affect runtime - no libtool archives - no desktop entry needed - package appears to function correctly (tested on FC4 i386) - scriptlets for info file seem sane Notes: * rpmlint output: W: ghdl devel-file-in-non-devel-package /usr/lib/gcc/i386-fedora_ghdl-linux/4.0.2/libgcov.a W: ghdl devel-file-in-non-devel-package /usr/lib/gcc/i386-fedora_ghdl-linux/4.0.2/libgcc.a W: ghdl devel-file-in-non-devel-package /usr/lib/gcc/i386-fedora_ghdl-linux/4.0.2/libgcc_eh.a W: ghdl devel-file-in-non-devel-package /usr/lib/gcc/i386-fedora_ghdl-linux/4.0.2/vhdl/lib/libgrt.a W: ghdl non-standard-dir-in-usr libexec This package is based on gcc, and these files are part of the compiler itself. The directory structure is the same as for the core gcc package itself, except that the vendor name has been changed to "fedora_ghdl" to avoid namespace clashes. * source is a subversion checkout and hence can't be compared with upstream Approved. I'll sponsor you for membership of the cvsextras group.
Package Change Request ====================== Package Name: ghdl New Branches: EL-5 EL-6 Owners: sailer
CVS done (by process-cvs-requests.py).