[svn:parrot] r48160 - in trunk/ports/suse: 2.2.0 2.5.0
gerd at svn.parrot.org
gerd at svn.parrot.org
Wed Jul 21 11:32:19 UTC 2010
Author: gerd
Date: Wed Jul 21 11:32:19 2010
New Revision: 48160
URL: https://trac.parrot.org/parrot/changeset/48160
Log:
update suse rpm build port
Added:
trunk/ports/suse/2.5.0/
trunk/ports/suse/2.5.0/parrot.diff
trunk/ports/suse/2.5.0/parrot.spec
Deleted:
trunk/ports/suse/2.2.0/
Added: trunk/ports/suse/2.5.0/parrot.diff
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/ports/suse/2.5.0/parrot.diff Wed Jul 21 11:32:19 2010 (r48160)
@@ -0,0 +1,35 @@
+--- ./tools/dev/pbc_to_exe.pir.orig 2010-04-19 06:37:28.000000000 +0000
++++ ./tools/dev/pbc_to_exe.pir 2010-04-20 14:25:40.000000000 +0000
+@@ -510,10 +510,11 @@ END_OF_FUNCTION
+ .param int install :optional
+
+ $P0 = '_config'()
+- .local string cc, ccflags, cc_o_out, osname, build_dir, slash
++ .local string cc, ccflags, optimize, cc_o_out, osname, build_dir, slash
+ .local string installed, includepath, versiondir
+ cc = $P0['cc']
+ ccflags = $P0['ccflags']
++ optimize = $P0['optimize']
+ cc_o_out = $P0['cc_o_out']
+ osname = $P0['osname']
+ build_dir = $P0['build_dir']
+@@ -547,6 +548,8 @@ END_OF_FUNCTION
+ compile .= pathquote
+ compile .= ' '
+ compile .= ccflags
++ compile .= ' '
++ compile .= optimize
+ compile .= ' -c '
+ compile .= cfile
+
+--- ./src/gc/system.c.orig 2010-04-20 14:36:05.000000000 +0000
++++ ./src/gc/system.c 2010-04-20 14:38:24.000000000 +0000
+@@ -197,7 +197,7 @@ trace_system_areas(PARROT_INTERP, ARGIN(
+
+ # endif /* __hpux */
+
+- trace_mem_block(interp, base,
++ trace_mem_block(interp, mem_pools, base,
+ (size_t)current_regstore_top);
+
+ #else /* !__ia64__ */
Added: trunk/ports/suse/2.5.0/parrot.spec
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/ports/suse/2.5.0/parrot.spec Wed Jul 21 11:32:19 2010 (r48160)
@@ -0,0 +1,249 @@
+#
+# spec file for package parrot (Version 2.5.0)
+#
+# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+
+Name: parrot
+Version: 2.5.0
+Release: 14.3
+%define pversion 2_5_0
+Summary: Parrot Virtual Machine
+License: Artistic 2.0
+Group: Development/Libraries
+Url: http://www.parrot.org/
+Source0: parrot-%{version}.tar.bz2
+Patch0: parrot.diff
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: readline-devel
+BuildRequires: ncurses-devel
+BuildRequires: gmp-devel
+BuildRequires: gdbm-devel
+BuildRequires: libicu-devel
+%if ! 0%{?suse_version}
+BuildRequires: perl-Test-Harness
+%endif
+
+%package docs
+Summary: Parrot Virtual Machine documentation
+License: Artistic 2.0
+Group: Development/Libraries
+%if ! 0%{?suse_version}
+BuildRequires: /usr/bin/perldoc
+%endif
+
+%package -n libparrot%pversion
+
+
+Summary: Parrot Virtual Machine Library
+License: Artistic 2.0
+Group: Development/Libraries
+
+%package devel
+Summary: Parrot Virtual Machine development headers and libraries
+License: Artistic 2.0
+Group: Development/Libraries
+Requires: %{name} = %{version}
+Requires: readline-devel
+Requires: ncurses-devel
+Requires: gmp-devel
+Requires: gdbm-devel
+Requires: libicu-devel
+%if ! 0%{?suse_version}
+Requires: %{_libdir}/pkgconfig
+%endif
+
+%description
+Parrot is a virtual machine designed to efficiently compile and execute
+bytecode for dynamic languages. Parrot is the target for Rakudo Perl 6,
+as well as variety of other languages.
+
+%description -n libparrot%pversion
+Parrot is a virtual machine designed to efficiently compile and execute
+bytecode for dynamic languages. Parrot is the target for Rakudo Perl 6,
+as well as variety of other languages.
+
+%description docs
+Documentation in text-, POD- and HTML-format (docs/html-subdirectory) and also
+examples about the Parrot Virtual Machine
+
+%description devel
+Parrot Virtual Machine development headers and libraries.
+
+%prep
+%setup -q
+%patch0
+%{__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
+%{__perl} -pi -e "s,'/usr/lib','%{_libdir}',;s,runtime/lib/,runtime/%{_lib}/," \
+ tools/dev/install_dev_files.pl
+
+%build
+if test "%{_vendor}" = "suse"
+then
+ LIBS='-lncurses -lm -lrt'
+else
+ LIBS='-lcurses -lm -lrt'
+fi
+OPTIMIZE="$RPM_OPT_FLAGS -fno-strict-aliasing"
+OPTIMIZE="$RPM_OPT_FLAGS"
+%ifarch %ix86 %x86_64
+OPTIMIZE="$OPTIMIZE -maccumulate-outgoing-args"
+%endif
+%ifarch ppc ia64
+OPTIMIZE="-O0"
+%endif
+%{__perl} Configure.pl \
+ --prefix=%{_usr} \
+ --libdir=%{_libdir} \
+ --sysconfdir=%{_sysconfdir} \
+ --infodir=%{_datadir}/info \
+ --mandir=%{_mandir} \
+ --cc="%{__cc}" \
+ --cxx=%{__cxx} \
+ --optimize="$OPTIMIZE" \
+ --parrot_is_shared \
+ --disable-rpath \
+ --lex=/usr/bin/flex \
+ --yacc=/usr/bin/yacc \
+ --libs="$LIBS"
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+make
+make parrot_utils
+make installable
+make html
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir $RPM_BUILD_ROOT
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+make install-dev DESTDIR=$RPM_BUILD_ROOT
+PARROT_LIB=%{_libdir}`./parrot_config versiondir`
+PARROT_INC=%{_includedir}`./parrot_config versiondir`
+wd=`pwd`
+for i in $RPM_BUILD_ROOT$PARROT_LIB/tools/build/* ; do
+ perl -pi -e "s@$wd/include@$PARROT_INC at g" $i
+ perl -pi -e "s@$wd/src/pmc@$PARROT_INC/pmc at g" $i
+ perl -pi -e "s@(-Wl,)?-L$wd/blib/lib@@" $i
+ perl -pi -e "s@$wd@$PARROT_LIB at g" $i
+done
+perl -pi -e 's@^(use lib ..FindBin::Bin/\.\./)\.\."@$1lib"@' $RPM_BUILD_ROOT$PARROT_LIB/tools/build/dynpmc.pl
+# Drop the docs so rpm can pick them up itself.
+rm -rf $RPM_BUILD_ROOT%{_usr}/share/doc/parrot # necessary for SuSE
+#rm -rf $RPM_BUILD_ROOT/%{_docdir}/parrot # for Solaris?
+# 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 {} \;
+# make libparrot.so a symlink
+(cd $RPM_BUILD_ROOT%{_libdir} ; ln -fs libparrot.so.* libparrot.so)
+
+%check
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+# make test < /dev/null
+# %{?_with_fulltest:make fulltest < /dev/null}
+# make test || :
+# %{?_with_fulltest:make fulltest || :}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -n libparrot%pversion -p /sbin/ldconfig
+
+%postun -n libparrot%pversion -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%exclude %{_bindir}/parrot_config
+%exclude %{_bindir}/parrot_debugger
+%exclude %{_bindir}/pbc_*
+%{_bindir}/*
+
+%files -n libparrot%pversion
+%defattr(-,root,root,-)
+%dir %{_libdir}/parrot
+%dir %{_libdir}/parrot/*
+%{_libdir}/parrot/*/[^st]*
+%{_libdir}/libparrot.so.*
+
+%files docs
+%defattr(-,root,root,-)
+%doc ChangeLog CREDITS NEWS PBC_COMPAT PLATFORMS README
+%doc RESPONSIBLE_PARTIES TODO
+%doc docs examples
+
+%files devel
+%defattr(-,root,root,-)
+%{_bindir}/parrot_config
+%{_bindir}/parrot_debugger
+%{_bindir}/pbc_disassemble
+%{_bindir}/pbc_merge
+%{_bindir}/pbc_to_exe
+%{_bindir}/pbc_dump
+%{_includedir}/parrot
+%{_libdir}/libparrot.so
+%{_libdir}/libparrot.a
+%{_libdir}/pkgconfig/*
+%{_libdir}/parrot/*/[st]*
+%{_usrsrc}/parrot
+
+%changelog
+* Fri Jun 18 2010 mls at suse.de
+- update to parrot-2.5.0
+ * Added ByteBuffer PMC to allow direct byte manipulation
+ * Modified some PMC vtable functions to reduce complexity, simplifying coverage.
+ * Modified PAST to generate symbolic PASM constants in PIR output.
+ * General STRING API cleanups
+ * Fixed up 'exit' opcode, added CONTROL_EXIT exception type.
+ * Added proper support for multisubs and multimethods in nqp-rx
+* Thu May 20 2010 mls at suse.de
+- update to parrot-2.4.0
+ * STRINGs are now immutable.
+ * use STRINGNULL instead of NULL when working with strings
+ * Fixed storage of methods in the NameSpace PMC
+ * Added :nsentry flag to force method to be stored in the NameSpace
+ * Added StringBuilder and PackfileDebug PMCs
+ * Added experimental opcodes find_codepoint and unroll
+* Thu Apr 22 2010 mls at suse.de
+- update to parrot-2.3.0
+ * dlopen improved, loadlib opcode added
+ * Calling conventions are now much more consistent, and follows natural
+ semantics of handling arguments and return values
+ * Datatype STRINGNULL for a single Null STRING added
+- work around i586 compiler bug
+* Wed Mar 17 2010 mls at suse.de
+- update to parrot-2.2.0
+ * Most internal allocations now use the GC
+ * RNG non-randomness fixes
+ * Elimination of much dead code
+* Fri Feb 19 2010 mls at suse.de
+- update to parrot-2.1.1
+* Fri Oct 23 2009 mls at suse.de
+- update to October version
+* Mon Sep 21 2009 mls at suse.de
+- update to September version
+* Thu Aug 27 2009 mls at suse.de
+- update to August version
+* Fri Jun 26 2009 mls at suse.de
+- update to June version
+* Thu Apr 23 2009 mls at suse.de
+- update to April version
+* Fri Apr 3 2009 mls at suse.de
+- initial revision
More information about the parrot-commits
mailing list