[jruby] jruby 1.6.2 import

Mohammed Morsi mmorsi at fedoraproject.org
Mon Jul 18 18:49:22 UTC 2011


commit f4ea4c6e3ec7f89ffdce927b695fac638f2483ec
Author: Mo Morsi <mmorsi at redhat.com>
Date:   Mon Jul 18 14:48:24 2011 -0400

    jruby 1.6.2 import

 .gitignore                                         |    2 +
 add-classpath-to-jruby-start-script.patch          |   33 ++
 dead.package                                       |    1 -
 dont-include-jar-dependencies-in-build-xml.patch   |  141 +++++++++
 jruby-dont-use-jruby-until-build-is-complete.patch |   18 ++
 jruby.spec                                         |  322 ++++++++++++++++++++
 remove-builtin-yecht-jar.patch                     |   11 +
 remove-invoke-dynamic-support.patch                |   17 +
 set-jruby-revision.patch                           |   13 +
 sources                                            |    2 +
 yecht-only-build-bindings.patch                    |   45 +++
 11 files changed, 604 insertions(+), 1 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index de6f77d..bcce80a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
 jruby-src-1.1.6.tar.gz
+/jruby-src-1.6.2.tar.gz
+/olabini-yecht-0.0.2-0-g157cf13.tar.gz
diff --git a/add-classpath-to-jruby-start-script.patch b/add-classpath-to-jruby-start-script.patch
new file mode 100644
index 0000000..d18c95f
--- /dev/null
+++ b/add-classpath-to-jruby-start-script.patch
@@ -0,0 +1,33 @@
+--- bin/jruby.sh.orig	2011-05-25 23:01:16.000000000 -0400
++++ bin/jruby.sh	2011-05-25 23:02:32.000000000 -0400
+@@ -107,6 +107,13 @@ for j in "$JRUBY_HOME"/lib/jruby.jar "$J
+     JRUBY_ALREADY_ADDED=true
+ done
+ 
++j=$(build-classpath objectweb-asm/asm objectweb-asm/asm-util \
++    objectweb-asm/all objectweb-asm/asm-commons objectweb-asm/asm-analysis objectweb-asm/asm-tree \
++    bytelist constantine jline jcodings joni jna jnr-posix jaffl jffi joda-time \
++    yydebug nailgun emma jgrapht bsf jnr-netdb jruby yecht jruby-yecht )
++
++JRUBY_CP="$JRUBY_CP$CP_DELIMETER$j"
++
+ 
+ # ----- Set Up The System Classpath -------------------------------------------
+ 
+--- bin/jruby.bash.orig	2011-06-02 10:13:58.158447113 -0400
++++ bin/jruby.bash	2011-06-02 10:14:44.679447018 -0400
+@@ -149,6 +149,14 @@ if $cygwin; then
+     JRUBY_CP=`cygpath -p -w "$JRUBY_CP"`
+ fi
+ 
++j=$(build-classpath objectweb-asm/asm objectweb-asm/asm-util \
++    objectweb-asm/all objectweb-asm/asm-commons objectweb-asm/asm-analysis objectweb-asm/asm-tree \
++    bytelist constantine jline jcodings joni jna jnr-posix jaffl jffi joda-time \
++    yydebug nailgun emma jgrapht bsf jnr-netdb jruby yecht jruby-yecht )
++
++JRUBY_CP="$JRUBY_CP$CP_DELIMETER$j"
++
++
+ # ----- Set Up The System Classpath -------------------------------------------
+ 
+ if [ "$JRUBY_PARENT_CLASSPATH" != "" ]; then
diff --git a/dont-include-jar-dependencies-in-build-xml.patch b/dont-include-jar-dependencies-in-build-xml.patch
new file mode 100644
index 0000000..e2930d7
--- /dev/null
+++ b/dont-include-jar-dependencies-in-build-xml.patch
@@ -0,0 +1,141 @@
+--- build.xml.orig	2011-05-25 23:03:44.000000000 -0400
++++ build.xml	2011-05-25 23:05:08.000000000 -0400
+@@ -343,42 +343,6 @@
+   <target name="jar-jruby" depends="init, compile, unzip-native-libs" unless="jar-up-to-date, jar-jruby.hasrun">
+       <jar destfile="${lib.dir}/jruby.jar" compress="true" index="true" update="true">
+         <fileset dir="${jruby.classes.dir}"/>
+-        <zipfileset src="${asm.jar}"/>
+-        <zipfileset src="${asm-commons.jar}"/>
+-        <zipfileset src="${asm-util.jar}"/>
+-        <zipfileset src="${asm-analysis.jar}"/>
+-        <zipfileset src="${asm-tree.jar}"/>
+-        <zipfileset src="${build.lib.dir}/bytelist.jar"/>
+-        <zipfileset src="${build.lib.dir}/constantine.jar"/>
+-        <zipfileset src="${build.lib.dir}/jline-${jline.version}.jar"/>
+-        <zipfileset src="${build.lib.dir}/jcodings.jar"/>
+-        <zipfileset src="${build.lib.dir}/joni.jar"/>
+-        <zipfileset src="${build.lib.dir}/jnr-netdb.jar"/>
+-        <zipfileset src="${build.lib.dir}/jnr-posix.jar"/>
+-        <zipfileset src="${build.lib.dir}/jaffl.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-i386-Linux.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-x86_64-Linux.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-Darwin.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-i386-SunOS.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-x86_64-SunOS.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-ppc-AIX.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-ppc-Linux.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-ppc64-Linux.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-sparc-SunOS.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-sparcv9-SunOS.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-i386-FreeBSD.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-x86_64-FreeBSD.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-i386-OpenBSD.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-x86_64-OpenBSD.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-i386-Windows.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-x86_64-Windows.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-s390x-Linux.jar"/>
+-        <zipfileset src="${build.lib.dir}/joda-time-${joda.time.version}.jar"/>
+-        <zipfileset src="${build.lib.dir}/snakeyaml-1.8.jar"/>
+-        <zipfileset src="${build.lib.dir}/yecht.jar"/>
+-        <zipfileset src="${build.lib.dir}/yydebug.jar"/>
+-        <zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/>
+         <metainf dir="${base.dir}/spi">
+           <include name="services/**"/>
+         </metainf>
+@@ -417,9 +381,6 @@
+       <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${build.lib.dir}/jarjar-1.0.jar"/>
+       <jarjar destfile="${lib.dir}/jruby-core.jar" compress="true" index="true">
+         <fileset dir="${jruby.classes.dir}"/>
+-        <zipfileset src="${asm.jar}"/>
+-        <zipfileset src="${asm-util.jar}"/>
+-        <zipfileset src="${build.lib.dir}/yecht.jar"/>
+         <metainf dir="${base.dir}/spi">
+           <include name="services/**"/>
+         </metainf>
+@@ -443,42 +404,6 @@
+       <echo message="jarjaring for dist"/>
+       <jarjar destfile="${lib.dir}/jruby.jar" compress="true">
+         <fileset dir="${jruby.classes.dir}"/>
+-        <zipfileset src="${asm.jar}"/>
+-        <zipfileset src="${asm-commons.jar}"/>
+-        <zipfileset src="${asm-util.jar}"/>
+-        <zipfileset src="${asm-analysis.jar}"/>
+-        <zipfileset src="${asm-tree.jar}"/>
+-        <zipfileset src="${build.lib.dir}/constantine.jar"/>
+-        <zipfileset src="${build.lib.dir}/bytelist.jar"/>
+-        <zipfileset src="${build.lib.dir}/jline-${jline.version}.jar"/>
+-        <zipfileset src="${build.lib.dir}/jcodings.jar"/>
+-        <zipfileset src="${build.lib.dir}/joni.jar"/>
+-        <zipfileset src="${build.lib.dir}/jnr-netdb.jar"/>
+-        <zipfileset src="${build.lib.dir}/jnr-posix.jar"/>
+-        <zipfileset src="${build.lib.dir}/jaffl.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-i386-Linux.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-x86_64-Linux.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-Darwin.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-i386-SunOS.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-x86_64-SunOS.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-ppc-AIX.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-ppc-Linux.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-ppc64-Linux.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-sparc-SunOS.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-sparcv9-SunOS.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-i386-FreeBSD.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-x86_64-FreeBSD.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-i386-OpenBSD.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-x86_64-OpenBSD.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-i386-Windows.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-x86_64-Windows.jar"/>
+-        <zipfileset src="${build.lib.dir}/jffi-s390x-Linux.jar"/>
+-        <zipfileset src="${build.lib.dir}/joda-time-${joda.time.version}.jar"/>
+-        <zipfileset src="${build.lib.dir}/snakeyaml-1.8.jar"/>
+-        <zipfileset src="${build.lib.dir}/yecht.jar"/>
+-        <zipfileset src="${build.lib.dir}/yydebug.jar"/>
+-        <zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/>
+         <metainf dir="${base.dir}/spi">
+           <include name="services/**"/>
+         </metainf>
+@@ -601,42 +526,6 @@
+       <fileset dir="${build.dir}/jar-complete">
+         <exclude name="META-INF/jruby.home/lib/ruby/site_ruby/shared/builtin/**"/>
+       </fileset>
+-      <zipfileset src="${asm.jar}"/>
+-      <zipfileset src="${asm-commons.jar}"/>
+-      <zipfileset src="${asm-util.jar}"/>
+-      <zipfileset src="${asm-analysis.jar}"/>
+-      <zipfileset src="${asm-tree.jar}"/>
+-      <zipfileset src="${build.lib.dir}/bytelist.jar"/>
+-      <zipfileset src="${build.lib.dir}/constantine.jar"/>
+-      <zipfileset src="${build.lib.dir}/jline-${jline.version}.jar"/>
+-      <zipfileset src="${build.lib.dir}/jcodings.jar"/>
+-      <zipfileset src="${build.lib.dir}/joni.jar"/>
+-      <zipfileset src="${build.lib.dir}/jnr-netdb.jar"/>
+-      <zipfileset src="${build.lib.dir}/jnr-posix.jar"/>
+-      <zipfileset src="${build.lib.dir}/jaffl.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-i386-Linux.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-x86_64-Linux.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-Darwin.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-i386-SunOS.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-x86_64-SunOS.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-ppc-AIX.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-ppc-Linux.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-ppc64-Linux.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-sparc-SunOS.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-sparcv9-SunOS.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-i386-FreeBSD.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-x86_64-FreeBSD.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-i386-OpenBSD.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-x86_64-OpenBSD.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-i386-Windows.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-x86_64-Windows.jar"/>
+-      <zipfileset src="${build.lib.dir}/jffi-s390x-Linux.jar"/>
+-      <zipfileset src="${build.lib.dir}/joda-time-${joda.time.version}.jar"/>
+-      <zipfileset src="${build.lib.dir}/snakeyaml-1.8.jar"/>
+-      <zipfileset src="${build.lib.dir}/yecht.jar"/>
+-      <zipfileset src="${build.lib.dir}/yydebug.jar"/>
+-      <zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/>
+       <metainf dir="${base.dir}/spi">
+         <include name="services/**"/>
+       </metainf>
diff --git a/jruby-dont-use-jruby-until-build-is-complete.patch b/jruby-dont-use-jruby-until-build-is-complete.patch
new file mode 100644
index 0000000..d50cf42
--- /dev/null
+++ b/jruby-dont-use-jruby-until-build-is-complete.patch
@@ -0,0 +1,18 @@
+--- build.xml.orig	2011-06-02 09:41:54.176447001 -0400
++++ build.xml	2011-06-02 09:42:13.749447001 -0400
+@@ -353,7 +353,6 @@
+       </jar>
+ 
+       <antcall target="add-emma-jars"/>
+-      <antcall target="generate-ri-cache"/>
+ 
+       <property name="jar-jruby.hasrun" value="true"/>
+   </target>
+@@ -419,7 +418,6 @@
+         <param name="bar.wrap" value="${lib.dir}/jruby.bar" />
+       </antcall>
+       
+-      <antcall target="generate-ri-cache"/>
+   </target>
+   <target name="jarjar" depends="jar-jruby-dist"/>
+ 
diff --git a/jruby.spec b/jruby.spec
new file mode 100644
index 0000000..acde5c4
--- /dev/null
+++ b/jruby.spec
@@ -0,0 +1,322 @@
+%global yecht_commitversion 157cf13
+%global yecht_dlversion 0.0.2-0-g157cf13
+%global yecht_cluster olabini
+
+Name:           jruby
+Version:        1.6.2
+Release:        2%{?dist}
+Summary:        Pure Java implementation of the Ruby interpreter
+Group:          Development/Languages
+License:        (CPL or GPLv2+ or LGPLv2+) and ASL 1.1 and MIT and Ruby
+URL:            http://jruby.org/
+BuildArch:      noarch
+Source0:        http://jruby.org.s3.amazonaws.com/downloads/%{version}/jruby-src-%{version}.tar.gz
+Source1:        http://github.com/%{yecht_cluster}/yecht/tarball/0.0.2/%{yecht_cluster}-yecht-%{yecht_dlversion}.tar.gz
+Patch1:         add-classpath-to-jruby-start-script.patch
+Patch2:         dont-include-jar-dependencies-in-build-xml.patch
+Patch3:         remove-invoke-dynamic-support.patch
+Patch4:         set-jruby-revision.patch
+Patch5:         jruby-dont-use-jruby-until-build-is-complete.patch
+
+# this patch contains the following upstream change
+# https://github.com/jruby/jruby/commit/6c1d41aedfde705c969abf10cf5384e2be69f10a
+Patch6:         remove-builtin-yecht-jar.patch
+
+Patch7:         yecht-only-build-bindings.patch
+
+BuildRequires:  java-devel >= 1.6
+BuildRequires:  jpackage-utils >= 1.5
+BuildRequires:  ant >= 1.6
+BuildRequires:  objectweb-asm
+BuildRequires:  bytelist >= 1.0.8
+BuildRequires:  jnr-constants
+BuildRequires:  jline
+BuildRequires:  jcodings >= 1.0.5
+BuildRequires:  joni >= 1.1.2
+BuildRequires:  jna
+BuildRequires:  jaffl >= 0.5.9
+BuildRequires:  jffi >= 1.0.9
+BuildRequires:  joda-time
+BuildRequires:  yydebug
+BuildRequires:  nailgun
+BuildRequires:  emma
+BuildRequires:  jgrapht
+BuildRequires:  bsf
+BuildRequires:  jnr-netdb
+BuildRequires:  yecht
+BuildRequires:  jakarta-commons-logging
+BuildRequires:  jarjar
+BuildRequires:  ant-junit
+BuildRequires:  junit4
+BuildRequires:  felix-osgi-core >= 1.4.0
+BuildRequires:  snakeyaml
+
+# these normally get installed as gems during the test process
+BuildRequires:  rubygem(rake)
+BuildRequires:  rubygem(rspec)
+BuildRequires:  rubygem(ruby-debug)
+BuildRequires:  rubygem(ruby-debug-base)
+BuildRequires:  rubygem(columnize)
+
+Requires:  objectweb-asm
+Requires:  bytelist >= 1.0.8
+Requires:  jnr-constants
+Requires:  jline
+Requires:  jcodings >= 1.0.1
+Requires:  joni >= 1.1.2
+Requires:  jna
+Requires:  jaffl >= 0.5.9
+Requires:  jffi >= 1.0.9
+Requires:  joda-time
+Requires:  yydebug
+Requires:  nailgun
+Requires:  emma
+Requires:  jgrapht
+Requires:  bsf
+Requires:  jnr-netdb
+Requires:  jruby-yecht
+
+# the jna-posix package has been renamed to
+# jnr-posix but the jruby dependency does not
+# yet reflect this
+BuildRequires:  jnr-posix >= 1.1.7
+Requires:  jnr-posix >= 1.1.7
+
+
+%description
+JRuby is a 100% Java implementation of the Ruby programming language.
+It is Ruby for the JVM. JRuby provides a complete set of core "builtin"
+classes and syntax for the Ruby language, as well as most of the Ruby
+Standard Libraries.
+
+%package        javadoc
+Summary:        Javadoc for %{name}
+Group:          Documentation
+Requires:       %{name} = %{version}-%{release}
+
+%description    javadoc
+Javadoc for %{name}.
+
+# yecht / jruby bindings
+# http://jira.codehaus.org/browse/JRUBY-5352
+%package        yecht
+Summary:        Bindings used to load yecht in jruby
+Group:          Development/Libraries
+BuildRequires:  yecht
+Requires:       yecht
+Requires:       %{name} = %{version}-%{release}
+
+%description yecht
+The bindings for the yecht library for internal use in jruby
+
+%prep
+%setup -q -n %{name}-%{version}
+%patch1 -p0
+%patch2 -p0
+%patch3 -p0
+%patch4 -p0
+%patch5 -p0
+%patch6 -p0
+
+tar xzvf %{SOURCE1}
+mv %{yecht_cluster}-yecht-%{yecht_commitversion} yecht
+
+# delete all embedded jars
+find -name *.jar -exec rm -f '{}' \;
+
+# delete windows specific files
+find -name *.exe -exec rm -f '{}' \;
+find -name *.dll -exec rm -f '{}' \;
+
+# delete prebuilt gems in the build dir
+rm build_lib/*.gem
+
+# delete all vcs files
+find -name .gitignore -exec rm -f '{}' \;
+find -name .cvsignore -exec rm -f '{}' \;
+
+# replace them with symlinks
+build-jar-repository -s -p build_lib \
+     objectweb-asm/asm objectweb-asm/asm-util \
+     objectweb-asm/asm-commons objectweb-asm/asm-analysis objectweb-asm/asm-tree \
+     bytelist constantine jline jcodings joni jna jaffl jffi joda-time  felix/org.osgi.core \
+     yydebug nailgun emma jnr-posix jgrapht bsf jnr-netdb commons-logging jarjar junit junit4 \
+     yecht snakeyaml emma_ant
+
+# required as jruby was shipping the core java tools jar
+ln -s /usr/lib/jvm/java/lib/tools.jar build_lib/apt-mirror-api.jar
+
+# remove hidden .document files
+find lib/ruby/ -name '*.document' -exec rm -f '{}' \;
+
+# We don't have source to support accessing the jar this accesses
+rm src/org/jruby/runtime/invokedynamic/InvokeDynamicSupport.java
+rm src/org/jruby/compiler/impl/InvokeDynamicInvocationCompiler.java
+
+# change included stdlib to use jruby rather than some arcane ruby install
+#find lib/ruby/ -name '*.rb' -exec sed --in-place "s|^#!/usr/local/bin/ruby|#!/usr/bin/env jruby|" '{}' \;
+
+# lib/ruby scripts shouldn't contain shebangs as they are not executable on their own
+find lib/ruby/ -name '*.rb' -exec sed --in-place "s|^#!/usr/local/bin/ruby||" '{}' \;
+find lib/ruby/ -name '*.rb' -exec sed --in-place "s|^#!/usr/bin/env ruby||" '{}' \;
+
+# this file needs to be marked as executable for one of the tests to pass
+chmod +x test/org/jruby/util/shell_launcher_test
+
+# the yecht library needs to be accessible from ruby
+pushd yecht
+mkdir -p lib/ build/classes/ruby
+%patch7 -p0
+
+%build
+ant
+ant apidocs
+
+# remove bat files
+rm bin/*.bat
+
+pushd yecht
+ant ext-ruby-jar
+
+%install
+install -d -m 755 %{buildroot}%{_datadir}
+install -p -d -m 755 %{buildroot}%{_datadir}/%{name}
+cp -ar samples/ %{buildroot}%{_datadir}/%{name}/ # samples
+cp -ar lib/     %{buildroot}%{_datadir}/%{name}/ # stdlib + jruby.jar
+cp -ar bin/     %{buildroot}%{_datadir}/%{name}/ # startup scripts
+
+ln -s %{_datadir}/%{name}/lib/%{name}.jar %{buildroot}%{_datadir}/%{name}.jar
+
+# /usr prefix startup scripts
+install -d -m 755 %{buildroot}%{_bindir}
+ln -s %{_datadir}/%{name}/bin/jruby %{buildroot}%{_bindir}/jruby
+ln -s %{_datadir}/%{name}/bin/jirb  %{buildroot}%{_bindir}/jirb
+
+# javadoc
+install -p -d -m 755 %{buildroot}%{_javadocdir}/%{name}
+cp -a docs/api/* %{buildroot}%{_javadocdir}/%{name}
+
+# jruby-yecht
+cp yecht/lib/yecht-ruby-0.0.2.jar %{buildroot}%{_datadir}/%{name}-yecht.jar
+
+# pom
+%add_to_maven_depmap org.jruby %{name} %{version} JPP %{name}
+mkdir -p $RPM_BUILD_ROOT%{_mavenpomdir}
+cp pom.xml  $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-java.pom
+
+# java dir
+install -d -m 755 %{buildroot}%{_javadir}
+ln -s %{_datadir}/%{name}/lib/%{name}.jar %{buildroot}%{_javadir}/%{name}.jar
+
+%check
+#ant test
+
+%files
+%defattr(-,root,root,-)
+%doc COPYING
+%doc docs/CodeConventions.txt docs/README.test
+
+%attr(0755,root,root) %{_bindir}/%{name}
+%attr(0755,root,root) %{_bindir}/jirb
+%{_datadir}/%{name}
+%{_datadir}/%{name}.jar
+%{_javadir}/%{name}.jar
+
+%{_mavendepmapfragdir}/%{name}
+%{_mavenpomdir}/*
+
+%files javadoc
+%defattr(-,root,root,-)
+%{_javadocdir}/%{name}
+
+%files yecht
+%defattr(-,root,root,-)
+%{_datadir}/%{name}-yecht.jar
+
+%changelog
+* Wed Jul 06 2011 Mo Morsi <mmorsi at redhat.com> - 1.6.2-2
+- install jruby to _datadir not _javadir
+- remove windows specific files (exes, dlls, etc)
+
+* Wed May 25 2011 Mo Morsi <mmorsi at redhat.com> - 1.6.2-1
+- Updated to latest upstream release
+
+* Tue Dec 07 2010 Mohammed Morsi <mmorsi at redhat.com> - 1.5.6-2
+- Remove pre-built gems
+- Started to add bits to get test suite in working order
+- Added yecht bindings used internally in jruby
+
+* Mon Dec 06 2010 Mohammed Morsi <mmorsi at redhat.com> - 1.5.6-1
+- Updated jruby to latest upstream release
+- Updates to conform to pkging guidelines
+
+* Thu Dec 02 2010 Mohammed Morsi <mmorsi at redhat.com> - 1.5.5-1
+- Updated jruby to latest upstream release
+
+* Mon Oct 25 2010 Mohammed Morsi <mmorsi at redhat.com> - 1.5.3-1
+- Updated jruby to latest upstream release
+
+* Thu Jan 28 2010 Mohammed Morsi <mmorsi at redhat.com> - 1.4.0-1
+- Unorphaned / updated jruby
+
+* Fri Mar 6 2009 Conrad Meyer <konrad at tylerc.org> - 1.1.6-3
+- debug_package nil, as this is a pure-java package (that can't
+  be built with gcj).
+
+* Wed Feb 25 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.1.6-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Thu Dec 18 2008 Conrad Meyer <konrad at tylerc.org> - 1.1.6-1
+- Bump to 1.1.6.
+
+* Fri Nov 28 2008 Conrad Meyer <konrad at tylerc.org> - 1.1.5-1
+- Bump to 1.1.5.
+
+* Mon Sep 8 2008 Conrad Meyer <konrad at tylerc.org> - 1.1.4-1
+- Bump to 1.1.4.
+
+* Tue Jul 29 2008 Conrad Meyer <konrad at tylerc.org> - 1.1.3-2
+- Update jruby-fix-jruby-start-script.patch to work with faster
+  class-loading mechanism introduced in JRuby 1.1.2.
+
+* Sat Jul 19 2008 Conrad Meyer <konrad at tylerc.org> - 1.1.3-1
+- Bump to 1.1.3.
+
+* Wed May 21 2008 Conrad Meyer <konrad at tylerc.org> - 1.1.1-7
+- Require joni and jline.
+
+* Thu Apr 24 2008 Conrad Meyer <konrad at tylerc.org> - 1.1.1-6
+- Bump because F-9 bumped.
+
+* Thu Apr 24 2008 Conrad Meyer <konrad at tylerc.org> - 1.1.1-5
+- BR and Requires openjdk.
+
+* Tue Apr 22 2008 Conrad Meyer <konrad at tylerc.org> - 1.1.1-4
+- Add check section.
+- Removed patches 0 and 4 because they got incorporated in upstream.
+
+* Mon Apr 7 2008 Conrad Meyer <konrad at tylerc.org> - 1.1-3
+- Install all jruby to the prefix libdir/jruby, linking from /usr
+  where needed.
+
+* Sun Apr 6 2008 Conrad Meyer <konrad at tylerc.org> - 1.1-2
+- Add a few missing Requires.
+- Add some things that were missing from CP in the start script.
+
+* Sun Mar 30 2008 Conrad Meyer <konrad at tylerc.org> - 1.1-1
+- Bump to 1.1.
+- Remove binary .jars.
+- Minor cleanups in the specfile.
+- Don't include jruby stdlib (for now).
+
+* Sun Feb 24 2008 Conrad Meyer <konrad at tylerc.org> - 1.1-0.4.20080216svn
+- Bump for 1.1rc2.
+
+* Tue Jan 8 2008 Conrad Meyer <konrad at tylerc.org> - 1.1-0.3.20080108svn
+- Bump for 1.1rc1.
+
+* Sun Dec 9 2007 Conrad Meyer <konrad at tylerc.org> - 1.1-0.2.20071209svn
+- SVN version bump.
+
+* Mon Dec 3 2007 Conrad Meyer <konrad at tylerc.org> - 1.1-0.1.20071203svn
+- Initial package created from ancient jpackage package
diff --git a/remove-builtin-yecht-jar.patch b/remove-builtin-yecht-jar.patch
new file mode 100644
index 0000000..dfa7d1a
--- /dev/null
+++ b/remove-builtin-yecht-jar.patch
@@ -0,0 +1,11 @@
+--- src/org/jruby/Ruby.java.orig	2011-05-25 23:09:35.000000000 -0400
++++ src/org/jruby/Ruby.java	2011-05-25 23:09:59.000000000 -0400
+@@ -1447,7 +1447,7 @@ public final class Ruby {
+         addLazyBuiltin("tempfile.rb", "tempfile", "org.jruby.libraries.TempfileLibrary");
+         addLazyBuiltin("fcntl.rb", "fcntl", "org.jruby.libraries.FcntlLibrary");
+         addLazyBuiltin("rubinius.jar", "rubinius", "org.jruby.ext.rubinius.RubiniusLibrary");
+-        addLazyBuiltin("yecht.jar", "yecht", "YechtService");
++        addLazyBuiltin("yecht-ruby-0.0.2.jar", "yecht", "YechtService");
+ 
+         if (is1_9()) {
+             addLazyBuiltin("mathn/complex.jar", "mathn/complex", "org.jruby.ext.mathn.Complex");
diff --git a/remove-invoke-dynamic-support.patch b/remove-invoke-dynamic-support.patch
new file mode 100644
index 0000000..f95c59c
--- /dev/null
+++ b/remove-invoke-dynamic-support.patch
@@ -0,0 +1,17 @@
+--- src/org/jruby/compiler/impl/SkinnyMethodAdapter.java.orig	2010-02-01 20:05:03.000000000 -0500
++++ src/org/jruby/compiler/impl/SkinnyMethodAdapter.java	2010-02-01 20:05:25.000000000 -0500
+@@ -155,14 +155,10 @@
+     
+     public void invokeinterface(String arg1, String arg2, String arg3) {
+         getMethodVisitor().visitMethodInsn(INVOKEINTERFACE, arg1, arg2, arg3);
+     }
+ 
+-    public void invokedynamic(String arg1, String arg2, String arg3) {
+-        getMethodVisitor().visitMethodInsn(INVOKEDYNAMIC, arg1, arg2, arg3);
+-    }
+-    
+     public void aprintln() {
+         dup();
+         getstatic(p(System.class), "out", ci(PrintStream.class));
+         swap();
+         invokevirtual(p(PrintStream.class), "println", sig(void.class, params(Object.class)));
diff --git a/set-jruby-revision.patch b/set-jruby-revision.patch
new file mode 100644
index 0000000..8ba66d3
--- /dev/null
+++ b/set-jruby-revision.patch
@@ -0,0 +1,13 @@
+--- build.xml	2011-05-25 23:23:33.000000000 -0400
++++ build.xml.orig	2011-05-25 23:23:11.000000000 -0400
+@@ -192,8 +192,8 @@
+     <attribute name="tzdata-version" default="${tzdata.distributed.version}"/>
+     <sequential>
+       <echo message="Updating constants with tzdata version @{tzdata-version}"/>
+-        <exec osfamily="unix" executable="git" outputproperty="jruby.revision" failonerror="false" failifexecutionfails="false">
+-          <arg line="log -1 --format=format:%h"/>
++        <exec osfamily="unix" executable="echo" outputproperty="jruby.revision" failonerror="false" failifexecutionfails="false">
++          <arg line="1.6.2"/>
+         </exec>
+         <exec osfamily="windows" executable="cmd" outputproperty="jruby.revision" failonerror="false" failifexecutionfails="false">
+           <arg line="/c git log -1 --format=format:%h"/>
diff --git a/sources b/sources
new file mode 100644
index 0000000..963da9b
--- /dev/null
+++ b/sources
@@ -0,0 +1,2 @@
+906f66dcd744bf24c43c2b3ce0c68dc2  jruby-src-1.6.2.tar.gz
+964d857ee91eb2a64c8cf174e109fb1d  olabini-yecht-0.0.2-0-g157cf13.tar.gz
diff --git a/yecht-only-build-bindings.patch b/yecht-only-build-bindings.patch
new file mode 100644
index 0000000..82f7797
--- /dev/null
+++ b/yecht-only-build-bindings.patch
@@ -0,0 +1,45 @@
+Only in ./build/classes/ruby: org
+Only in ./build/classes/ruby: YechtService.class
+diff -supr build.xml.orig build.xml
+--- build.xml.orig	2009-07-26 06:04:48.000000000 -0400
++++ build.xml	2011-03-14 16:22:29.000000000 -0400
+@@ -19,6 +19,7 @@
+   <path id="ruby.build.classpath">
+     <fileset dir="${lib.dir}" includes="yecht*.jar"/>
+     <fileset dir="${jruby.lib}" includes="jruby.jar"/>
++    <fileset dir="${build_lib}" includes="bytelist.jar,constantine.jar,jcodings.jar,yecht.jar"/>
+   </path>
+ 
+   <patternset id="java.src.pattern">
+@@ -101,7 +102,7 @@
+     </jar>
+   </target>
+ 
+-  <target name="ext-ruby-compile" depends="jar" description="Create the JRuby extensions. Requires JRuby to be on the classpath, or in an easy to find place">
++  <target name="ext-ruby-compile" description="Create the JRuby extensions. Requires JRuby to be on the classpath, or in an easy to find place">
+     <javac destdir="${ruby.classes.dir}" debug="true" source="${javac.version}" target="${javac.version}">
+       <classpath refid="ruby.build.classpath"/>
+       <src path="${ruby.src.dir}"/>
+@@ -111,10 +112,6 @@
+ 
+   <target name="ext-ruby-jar" depends="ext-ruby-compile" description="Create the yecht-ruby.jar file">
+     <jar destfile="${lib.dir}/yecht-ruby-0.0.2.jar">
+-      <fileset dir="${yecht.classes.dir}">
+-        <include name="**/*.class"/>
+-        <include name="**/*.properties"/>
+-      </fileset>
+       <fileset dir="${ruby.classes.dir}">
+         <include name="**/*.class"/>
+       </fileset>
+diff -supr default.build.properties.orig ./default.build.properties
+--- default.build.properties.orig	2009-07-26 06:04:48.000000000 -0400
++++ ./default.build.properties	2011-03-14 16:17:30.000000000 -0400
+@@ -14,4 +14,5 @@ api.docs.dir=${docs.dir}/api
+ release.dir=rels
+ javac.version=1.5
+ ruby.src.dir=ext/ruby/src/java
+-jruby.lib=../jruby/lib
++jruby.lib=../lib
++build_lib=../build_lib
+Only in ../../../yecht/olabini-yecht-157cf13/lib: yecht-0.0.2.jar
+Only in ./lib: yecht-ruby-0.0.2.jar


More information about the scm-commits mailing list