Attached patch is updated according to pmichauds comments on IRC recently.  
diff --git a/build/Makefile.in b/build/Makefile.in
index 9ee3f7b..97452a0 100644
--- a/build/Makefile.in
+++ b/build/Makefile.in
@@ -1,6 +1,8 @@
 # Copyright (C) 2006-2009, The Perl Foundation.
 # $Id$
 
+DESTDIR          =
+
 PARROT_ARGS      =
 
 # values from parrot_config
@@ -204,13 +206,15 @@ all: $(PERL6EXE)
 
 # the install target
 install: all
-	$(MKPATH)                     $(PERL6_LANG_DIR)/lib
-	$(CP)     perl6.pbc           $(PERL6_LANG_DIR)
-	$(CP)     Test.pm             $(PERL6_LANG_DIR)/lib
-	$(CP)     lib/*.pm            $(PERL6_LANG_DIR)/lib
-	$(CP)     $(DYNPMC) $(DYNOPS) $(PARROT_LIB_DIR)/dynext
-	$(CP)     $(PERL6EXE)         $(PARROT_BIN_DIR)
-	$(CHMOD) 755 $(PARROT_BIN_DIR)/$(PERL6EXE)
+	$(MKPATH)                     $(DESTDIR)/$(PERL6_LANG_DIR)/lib
+	$(CP)     perl6.pbc           $(DESTDIR)/$(PERL6_LANG_DIR)
+	$(CP)     Test.pm             $(DESTDIR)/$(PERL6_LANG_DIR)/lib
+	$(CP)     lib/*.pm            $(DESTDIR)/$(PERL6_LANG_DIR)/lib
+	$(MKPATH)                     $(DESTDIR)/$(PARROT_LIB_DIR)/dynext
+	$(CP)     $(DYNPMC) $(DYNOPS) $(DESTDIR)/$(PARROT_LIB_DIR)/dynext
+	$(MKPATH)                     $(DESTDIR)/$(PARROT_BIN_DIR)
+	$(CP)     $(PERL6EXE)         $(DESTDIR)/$(PARROT_BIN_DIR)
+	$(CHMOD)  755                 $(DESTDIR)/$(PARROT_BIN_DIR)/$(PERL6EXE)
 
 xmas: perl6$(EXE)
 
diff --git a/build/rakudo.spec b/build/rakudo.spec
new file mode 100644
index 0000000..39239e5
--- /dev/null
+++ b/build/rakudo.spec
@@ -0,0 +1,96 @@
+%define parrot_version 1.4.0
+
+Name:           rakudo
+Version:        build20
+Release:        1
+Summary:        Rakudo Perl 6
+License:        Artistic 2.0
+Group:          Development/Libraries
+URL:            http://www.rakudo.org/
+Source0:        http://www.pmichaud.com/perl6/rakudo-%{version}.tar.gz
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires:  parrot           >= %parrot_version
+BuildRequires:  parrot-devel     >= %parrot_version
+
+%define parrot_versiondirname %{parrot_version}-devel
+%define parrot_versiondirpath  %{_libdir}/parrot/%{parrot_versiondirname}
+
+%define parrot_dynext %{parrot_versiondirpath}/dynext
+
+#%define rakudo_libs %{_libdir}/perl6/rakudo
+%define rakudo_libs %{parrot_versiondirpath}/languages/perl6/lib
+
+# Versions don't go easily in install_files.pl yet
+#%define relative_rakudo_dynext %{name}/%{version}
+%define relative_rakudo_dynext %{name}/dynext
+%define rakudo_dynext %{parrot_dynext}/%{relative_rakudo_dynext}
+
+%description
+Rakudo Perl 6 is an implementation of the Perl 6 specification which
+runs on the Parrot virtual machine.  Perl 6 is a programming language
+which supersedes earlier versions of Perl.  
+
+%prep
+%setup -q
+
+%build
+echo Building with root $RPM_BUILD_ROOT
+%{__perl} Configure.pl
+make
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+make install DESTDIR=$RPM_BUILD_ROOT
+#echo first find
+#find $RPM_BUILD_ROOT
+
+#pushd $RPM_BUILD_ROOT/%{parrot_dynext}
+#for i in %{relative_rakudo_dynext}/*.so; do 
+#	ln -s $i
+#done
+#popd
+
+#echo second find
+#find $RPM_BUILD_ROOT
+
+%check
+# make test < /dev/null
+# %{?_with_fulltest:make fulltest < /dev/null}
+# make test || :
+# %{?_with_fulltest:make fulltest || :}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%doc CREDITS README
+%doc docs
+%{parrot_dynext}/perl6_group.so
+%{parrot_dynext}/perl6_ops.so
+%{parrot_dynext}/perl6_ops_cg.so
+%{parrot_dynext}/perl6_ops_cgp.so
+%{parrot_dynext}/perl6_ops_switch.so
+#%{rakudo_dynext}/perl6_group.so
+#%{rakudo_dynext}/perl6_ops.so
+#%{rakudo_dynext}/perl6_ops_cg.so
+#%{rakudo_dynext}/perl6_ops_cgp.so
+#%{rakudo_dynext}/perl6_ops_switch.so
+%{_bindir}/perl6
+%{parrot_versiondirpath}/languages/perl6/perl6.pbc
+%{rakudo_libs}/Test.pm
+%{rakudo_libs}/Safe.pm
+
+%changelog
+* Wed Jul 22 2009 wayland <wayl...@wayland.id.au> 0.20
+- Updated to latest version
+
+* Fri Mar  6 2009 wayland <wayl...@wayland.id.au> 0.17
+- created from parrot.spec
+- Didn't redo any of the files stuff
+- Played with things 'til it worked

Reply via email to