# If the emacs-el package has installed a pkgconfig file, use that to determine # install locations and Emacs version at build time, otherwise set defaults. %if %($(pkg-config emacs) ; echo $?) %define emacs_version 22.1 %define emacs_lispdir %{_datadir}/emacs/site-lisp %define emacs_startdir %{_datadir}/emacs/site-lisp/site-start.d %else %define emacs_version %{expand:%(pkg-config emacs --modversion)} %define emacs_lispdir %{expand:%(pkg-config emacs --variable sitepkglispdir)} %define emacs_startdir %{expand:%(pkg-config emacs --variable sitestartdir)} %endif Name: perl-SystemPerl Version: 1.336 Release: 2%{?dist} Summary: SystemPerl Perl module License: LGPLv3+ or Artistic 2.0 Group: Development/Libraries URL: http://www.veripool.org/wiki/systemperl Source0: http://www.cpan.org/authors/id/W/WS/WSNYDER/SystemPerl-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Patch0: %{name}-example.patch BuildRequires: bison BuildRequires: flex BuildRequires: gdbm-devel BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: perl(Verilog::Getopt) >= 2.211 BuildRequires: perl(Verilog::Netlist) >= 3.200 #BuildRequires: Pod::Usage Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) %description SystemPerl is a version of the SystemC language. It is designed to expand text so that needless repetition in the language is minimized. By using sp_preproc, SystemPerl files can be expanded into C++ files at compile time, or expanded in place to make them valid stand-alone SystemC files. %package devel Summary: Development files for %{name} Group: Development/Libraries BuildRequires: gdbm-devel Requires: %{name} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package -n emacs-systemc-mode Summary: Elisp source files for systemc-mode under GNU Emacs Group: Development/Libraries BuildRequires: emacs-el BuildRequires: emacs Requires: emacs(bin) >= %{emacs_version} %description -n emacs-systemc-mode This package provides emacs support for systemc-mode %prep %setup -q -n SystemPerl-%{version} #Info: SystemC isn't in the environment # Fedora will not shipped SystemC due to licensing issues # SystemC patches for the user #%{__install} -d systemc_patches #%{__cp} -p patch*.diff systemc_patches #Filtering Requires: and Provides cat << EOF > %{name}-prov #!/bin/sh %{__perl_provides} $* |\ sed -e '/perl(SystemC::Netlist::Module)/d' EOF %global __perl_provides %{_builddir}/SystemPerl-%{version}/%{name}-prov chmod +x %{__perl_provides} cat << \EOF > %{name}-req #!/bin/sh %{__perl_requires} $* |\ sed -e '/perl(SystemC::Netlist::Module)/d' EOF %global __perl_requires %{_builddir}/SystemPerl-%{version}/%{name}-req chmod +x %{__perl_requires} # Prepare Makefile for Chitlesh's private SystemC rpm %patch0 -p0 %build %{__perl} Makefile.PL INSTALLDIRS=vendor %{__make} %{?_smp_mflags} # Build emacs mode emacs -batch -f batch-byte-compile systemc-mode.el cat <<EOF > systemc-mode.el.site-start (autoload 'systemc-mode "systemc-mode" "SystemC mode" t ) (setq auto-mode-alist (cons '("\\\\.sp\$" . systemc-mode) auto-mode-alist)) EOF %install rm -rf $RPM_BUILD_ROOT %{__make} pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \; find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -exec rm -f {} \; find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \; %{_fixperms} $RPM_BUILD_ROOT/* # -devel package and support for SystemC %{__mkdir} -p $RPM_BUILD_ROOT%{_includedir}/%{name} %{__install} -pm 0644 src/*.h $RPM_BUILD_ROOT%{_includedir}/%{name} %{__install} -pm 0644 src/*.cpp $RPM_BUILD_ROOT%{_includedir}/%{name} # Install emacs mode %{__install} -d %{buildroot}%{emacs_startdir} %{__install} -pm 0644 systemc-mode.el.site-start %{buildroot}%{emacs_startdir}/systemc-mode.el %{__install} -d %{buildroot}%{emacs_lispdir} %{__install} -pm 0644 systemc-mode.el systemc-mode.elc %{buildroot}%{emacs_lispdir}/ %check make test %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc Changes COPYING README %doc example/ %{_bindir}/sp_includer %{_bindir}/sp_makecheck %{_bindir}/sp_preproc %{_bindir}/vcoverage %dir %{perl_vendorarch}/auto/SystemC %dir %{perl_vendorarch}/auto/SystemC/Parser %{perl_vendorarch}/auto/SystemC/Parser/Parser.so %dir %{perl_vendorarch}/SystemC %{perl_vendorarch}/SystemC/* %{_mandir}/man?/* %files devel %defattr(-,root,root,-) %{_includedir}/%{name}/ %files -n emacs-systemc-mode %defattr(-,root,root,-) %{emacs_lispdir}/systemc-mode.el* %{emacs_startdir}/systemc-mode.el %changelog * Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.336-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Sun Nov 07 2010 Chitlesh GOORAH < chitlesh [AT] fedoraproject DOT org > 1.336-1 - new upstream release * Thu Jul 01 2010 Chitlesh GOORAH < chitlesh [AT] fedoraproject DOT org > 1.335-1 - new upstream release * Thu Mar 04 2010 Chitlesh GOORAH < chitlesh [AT] fedoraproject DOT org > 1.334-1 - new upstream release * Tue Sep 15 2009 Chitlesh GOORAH < chitlesh [AT] fedoraproject DOT org > 1.331-1 - New upsteam release * Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.330-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Wed Jul 15 2009 Chitlesh GOORAH < chitlesh [AT] fedoraproject DOT org > 1.330-1 - uint_t bug file #RHBZ 511400 - Header Include Bug - New upsteam release * Thu Jun 11 2009 Chitlesh GOORAH < chitlesh [AT] fedoraproject DOT org > 1.321-1 - New upstream release * Thu May 21 2009 Chitlesh GOORAH < chitlesh [AT] fedoraproject DOT org > 1.320-1 - New upstream release * Sun Mar 29 2009 Chitlesh GOORAH < chitlesh [AT] fedoraproject DOT org > 1.311-1 - New upstream release * Mon Mar 9 2009 Chitlesh GOORAH < chitlesh [AT] fedoraproject DOT org > 1.310-2 - Filtering Requires: and Provides * Fri Mar 6 2009 Chitlesh GOORAH < chitlesh [AT] fedoraproject DOT org > 1.310-1 - new release * Sun Dec 14 2008 Chitlesh GOORAH < chitlesh [AT] fedoraproject DOT org > 1.300-1 - Specfile autogenerated by cpanspec 1.77.