diff --git a/README.md b/README.md index 5822c69..ebe584a 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # parrot +Parrot is a virtual machine designed to efficiently compile and execute bytecode for interpreted languages. +Parrot will be a target for the Perl 6 compiler, and is already usable as a backend for Pugs, as well as variety of other languages. + diff --git a/parrot.spec b/parrot.spec new file mode 100644 index 0000000..93e0103 --- /dev/null +++ b/parrot.spec @@ -0,0 +1,186 @@ +%define perl_major_ver %(eval `perl -V:version`; echo ${version%*.[0-9]*}.0) + +Name: parrot +Version: 5.6.0 +Release: 1mamba +Summary: A virtual machine designed to compile and execute bytecode for interpreted languages +Group: System/Libraries/Perl +Vendor: openmamba +Distribution: openmamba +Packager: Davide Madrisan +URL: http://parrot.org/ +Source: ftp://ftp.parrot.org/pub/parrot/releases/devel/%{version}/parrot-%{version}.tar.gz +License: Artistic +Requires: perl >= %perl_major_ver +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libffi-devel +BuildRequires: libfreeglut-devel +BuildRequires: libGL-devel +BuildRequires: libGLU-devel +BuildRequires: libgmp-devel +BuildRequires: libicu-devel +BuildRequires: libreadline-devel +BuildRequires: libz-devel +BuildRequires: perl-devel +## AUTOBUILDREQ-END +BuildRequires: perl-devel >= %perl_major_ver +BuildRequires: libpython-devel +BuildRequires: libncurses-devel +BuildRequires: libreadline-devel +BuildRequires: libgdbm-devel +Provides: perl(Parrot::Pmc2c::MethodEmitter) = %{version} +Provides: perl(Parrot::Pmc2c::PCCMETHOD_BITS) = %{version} +Provides: perl(Parrot::Pmc2c::PMCEmitter) = %{version} +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Parrot is a virtual machine designed to efficiently compile and execute bytecode for interpreted languages. +Parrot will be a target for the Perl 6 compiler, and is already usable as a backend for Pugs, as well as variety of other languages. + +%package devel +Group: Development/Libraries +Summary: Parrot Virtual Machine development headers and libraries +License: Artistic +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description devel +Parrot is a virtual machine designed to efficiently compile and execute bytecode for interpreted languages. +Parrot will be a target for the Perl 6 compiler, and is already usable as a backend for Pugs, as well as variety of other languages. +This package contains static libraries and header files needed for development. + +%prep +%setup -q + +%define _use_internal_dependency_generator 0 +%define __find_provides %{_builddir}/parrot-%{version}/find_provides.sh +cat > %{_builddir}/parrot-%{version}/find_provides.sh <<_EOF +#! /bin/sh +%{_prefix}/lib/rpm/find-provides %{buildroot} %{_target_cpu} | \ +grep -v "perl(File::" | grep -v "perl(DB)" +exit 0 +_EOF +chmod +x %{_builddir}/parrot-%{version}/find_provides.sh + +%define __find_requires %{_builddir}/parrot-%{version}/find_requires.sh +cat > %{_builddir}/parrot-%{version}/find_requires.sh <<_EOF +#! /bin/sh +grep -v "%{_docdir}" | \ +%{_libdir}/rpm/find-requires %{buildroot} %{_target_cpu} 2>/dev/null | \ +grep -v "perl(File::" | grep -v "perl(DB)" +exit 0 +_EOF +chmod +x %{_builddir}/parrot-%{version}/find_requires.sh + + +%build +perl Configure.pl \ + --prefix=%{_usr} \ + --libdir=%{_libdir} \ + --sysconfdir=%{_sysconfdir} \ + --infodir=%{_datadir}/info \ + --mandir=%{_mandir} \ + --cc=%{__cc} \ + --cxx=%{__cxx} \ + --optimize="%{optflags} -maccumulate-outgoing-args" \ + --parrot_is_shared \ + --lex=%{_bindir}/flex \ + --yacc="%{_bindir}/bison -y" + +export LD_LIBRARY_PATH=$( pwd )/blib/lib +%make +%make html +#make test || : + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +export LD_LIBRARY_PATH=$( pwd )/blib/lib +%makeinstall + +rm -fr %{buildroot}%{_datadir}/doc %{buildroot}%{_usr}/src +rm -rf %{buildroot}%{_libdir}/libparrot.a + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files +%defattr(-,root,root) +#%exclude %{_bindir}/parrot-config +%{_bindir}/parrot +%{_libdir}/parrot +%{_libdir}/libparrot.so.* +%dir %{_datadir}/parrot +%dir %{_datadir}/parrot/%{version} +%{_datadir}/parrot/%{version}/MANIFEST* +%{_mandir}/man1/parrot.1.gz +%doc CREDITS LICENSE + +%files devel +%defattr(-,root,root,-) +%{_bindir}/winxed +%{_bindir}/ops2c +%{_bindir}/parrot_config +#%{_bindir}/parrot_debugger +%{_bindir}/parrot_nci_thunk_gen +%{_bindir}/parrot-nqp +%{_bindir}/parrot-prove +%{_bindir}/pbc_disassemble +%{_bindir}/pbc_merge +%{_bindir}/pbc_to_exe +%{_bindir}/pbc_dump +%{_includedir}/parrot +%{_libdir}/libparrot.so +%{_mandir}/man1/ops2c.1.gz +%{_mandir}/man1/parrot-nqp.1.gz +%{_mandir}/man1/parrot-prove.1.gz +%{_mandir}/man1/parrot_config.1.gz +%{_mandir}/man1/parrot_nci_thunk_gen.1.gz +%{_mandir}/man1/parrotbug.1.gz +%{_mandir}/man1/pbc_to_exe.1.gz +%{_mandir}/man1/plumage.1.gz +%{_mandir}/man1/winxed.1.gz +#%{_libdir}/pkgconfig/parrot/%{version}/parrot.pc +%doc ChangeLog PBC_COMPAT +%doc PLATFORMS RESPONSIBLE_PARTIES TODO +%doc docs examples + +%changelog +* Sat Jul 27 2013 Silvan Calarco 5.6.0-1mamba +- update to 5.6.0 +- filter out perl(File::Which) provide to avoid build requirement conflict with perl-File-Which + +* Sat Jun 01 2013 Automatic Build System 5.4.0-1mamba +- automatic version update by autodist + +* Fri Apr 19 2013 Automatic Build System 5.3.0-1mamba +- automatic version update by autodist + +* Fri Apr 05 2013 Automatic Build System 5.2.0-1mamba +- automatic version update by autodist + +* Wed Feb 27 2013 Automatic Build System 5.1.0-1mamba +- automatic version update by autodist + +* Fri Jan 04 2013 Automatic Build System 4.11.0-1mamba +- automatic version update by autodist + +* Fri Dec 07 2012 Automatic Build System 4.10.0-1mamba +- automatic version update by autodist + +* Mon Jul 19 2010 Davide Madrisan 2.5.0-2mamba +- rebuilt + +* Fri Jul 02 2010 Davide Madrisan 2.5.0-1mamba +- update to 2.5.0 ("Cheops") + +* Wed Feb 17 2010 Davide Madrisan 2.0.0-1mamba +- update to 2.0.0 + +* Sat Feb 14 2009 Aleph0 0.8.0-1mamba +- update to 0.8.0 + +* Wed Sep 19 2007 Aleph0 0.4.16-1mamba +- package created by autospec