%define name parrot %define version 4.6.0 %define release %mkrel 5 %define libname %mklibname %{name} %define libname_devel %mklibname -d %{name} %define _requires_exceptions perl(Parrot::Pmc2c::.*) %define _provides_exceptions perl(File::Which) Name: %name Version: %version Release: %release Summary: Virtual Machine for dynamic languages License: Artistic 2.0 Group: Development/Perl Url: http://www.parrot.org/ Source0: ftp://ftp.parrot.org/pub/parrot/releases/stable/%{version}/%{name}-%{version}.tar.bz2 BuildRequires: bison BuildRequires: gdbm-devel BuildRequires: gmp-devel BuildRequires: flex BuildRequires: libicu-devel BuildRequires: ncurses-devel BuildRequires: perl-doc BuildRequires: readline-devel %description Parrot is a virtual machine designed to efficiently compile and execute bytecode for interpreted languages. Parrot will be the target for the final Perl 6 compiler, and is already usable as a backend for the Rakudo Perl 6 compiler, as well as a variety of other languages #-- %package -n %libname Summary: Parrot Virtual Machine run time library License: Artistic 2.0 Group: Development/Perl Provides: lib%{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release} %description -n %libname Run time library for %{name}. #-- %package -n %{name}-doc Summary: Parrot Virtual Machine documentation License: Artistic 2.0 BuildArch: noarch Group: Development/Perl %description -n %{name}-doc Documentation for %{name}. #-- %package -n %libname_devel Summary: Parrot Virtual Machine development headers and libraries License: Artistic 2.0 Group: Development/Perl Provides: %{name}-devel = %{version}-%{release} Requires: %libname = %{version} %description -n %libname_devel Development files for %{name}. #-- %package -n %{name}-src Summary: Parrot Virtual Machine sources License: Artistic 2.0 Group: Development/Perl BuildArch: noarch %description -n %{name}-src Sources of %{name}. %prep %setup -q %{__perl} -pi -e 's,"lib/,"%{_lib}/, if (/CONST_STRING\(interp,/)' \ src/library.c %{__perl} -pi -e "s,'/usr/lib','%{_libdir}',;s,runtime/lib/,runtime/%{_lib}/," \ tools/dev/install_files.pl \ tools/dev/mk_manifest_and_skip.pl %build %define _disable_ld_no_undefined 1 %{__perl} Configure.pl \ --prefix=%{_usr} \ --libdir=%{_libdir} \ --sysconfdir=%{_sysconfdir} \ --infodir=%{_datadir}/info \ --mandir=%{_mandir} \ --cc="%{__cc}" \ --parrot_is_shared \ --lex=/usr/bin/flex \ --ldflags='%{ldflags}' \ --libs='-lcurses -lm -lrt' # the following Configure.pl flag makes the compile goes boom #--optimize="$RPM_OPT_FLAGS -maccumulate-outgoing-args" \ make LDFLAGS="%ldflags" export LD_LIBRARY_PATH=$( pwd )/blib/lib make parrot_utils LDFLAGS="%ldflags" make installable LDFLAGS="%ldflags" %make html %install export LD_LIBRARY_PATH=$( pwd )/blib/lib %makeinstall_std # Drop the docs so rpm can pick them up itself. rm -rf $RPM_BUILD_ROOT/%{_docdir}/parrot # Force permissions on doc directories. find docs examples -type d -exec chmod 755 {} \; find docs examples -type f -exec chmod 644 {} \; # Force permissions on shared libs so they get stripped. find $RPM_BUILD_ROOT%{_libdir} -type f \( -name '*.so' -o -name '*.so.*' \) \ -exec chmod 755 {} \; %files %doc ChangeLog CREDITS PBC_COMPAT PLATFORMS README.pod %doc RESPONSIBLE_PARTIES TODO %exclude %{_bindir}/parrot_config %exclude %{_bindir}/pbc_* %{_bindir}/* %files -n %{name}-doc %doc docs examples %files -n %libname %{_libdir}/parrot %{_libdir}/*.so.* %files -n %libname_devel %{_bindir}/parrot_config %{_bindir}/pbc_disassemble %{_bindir}/pbc_merge %{_bindir}/pbc_to_exe %{_bindir}/pbc_dump %{_includedir}/* %{_libdir}/*.so %{_libdir}/*.a %files -n %{name}-src /usr/src/parrot %changelog * Sun Jan 13 2013 umeabot <umeabot> 4.6.0-5.mga3 + Revision: 362421 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Fri Nov 09 2012 fwang <fwang> 4.6.0-4.mga3 + Revision: 316687 - fix ldflags - use correct ldflags * Fri Nov 09 2012 fwang <fwang> 4.6.0-3.mga3 + Revision: 316652 - rebuild for updated icu * Tue Nov 06 2012 fwang <fwang> 4.6.0-2.mga3 + Revision: 314783 - rebuild for new icu * Tue Jul 17 2012 shlomif <shlomif> 4.6.0-1.mga3 + Revision: 272025 - New version 4.6.0 * Fri Jun 08 2012 shlomif <shlomif> 4.3.0-1.mga3 + Revision: 257931 - New upstream version - 4.3.0 * Wed May 30 2012 fwang <fwang> 4.0.0-2.mga3 + Revision: 249634 - rebuild for new icu * Mon Jan 30 2012 shlomif <shlomif> 4.0.0-1.mga2 + Revision: 203292 - New version of Parrot - 4.0.0 + tv <tv> - new release * Mon Jun 20 2011 fwang <fwang> 3.4.0-1.mga2 + Revision: 110373 - disable parallel build for now - fix linkage and file list - new version 3.4.0 - rebuild for new icu * Sat Apr 02 2011 pterjan <pterjan> 3.1.0-2.mga1 + Revision: 79798 - Remove filerequires on /usr/lib/pkgconfig directory in the lib package * Thu Mar 03 2011 jquelin <jquelin> 3.1.0-1.mga1 + Revision: 63324 - adding missing buildrequires: - adding missing buildrequires: - update to 3.1.0 - imported package parrot