# Note to packagers: When rebasing this to a later version, do not # forget to ensure that sources 1 and 2 are up to date as well as # the Requires list. Name: groovy Version: 1.6.7 Release: 1%{?dist} Summary: Agile dynamic language for the Java Platform Group: Development/Languages License: ASL 2.0 URL: http://groovy.codehaus.org/ Source0: http://dist.groovy.codehaus.org/distributions/%{name}-src-%{version}.zip Source1: groovy-script Source2: groovy-starter.conf Source3: groovy.desktop Patch0: groovy-1.6.5-build.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildArch: noarch BuildRequires: ant BuildRequires: antlr BuildRequires: ant-antlr BuildRequires: asm2 BuildRequires: bsf BuildRequires: apache-ivy BuildRequires: jline BuildRequires: jsp_2_0_api BuildRequires: junit BuildRequires: servlet_2_4_api BuildRequires: xstream BuildRequires: java-devel >= 1.6 BuildRequires: desktop-file-utils BuildRequires: jpackage-utils BuildRequires: jakarta-commons-cli BuildRequires: unzip Requires: jpackage-utils # The are all runtime dependencies of the script # TODO: Think of splitting them into a separate subpackage Requires: ant Requires: ant-junit Requires: antlr Requires: asm2 Requires: bsf Requires: jakarta-commons-cli Requires: jakarta-commons-logging Requires: ivy Requires: jline Requires: jsp_2_0_api Requires: junit Requires: servlet_2_4_api Requires: xstream %description Groovy is an agile and dynamic language for the Java Virtual Machine, built upon Java with features inspired by languages like Python, Ruby and Smalltalk. It seamlessly integrates with all existing Java objects and libraries and compiles straight to Java bytecode so you can use it anywhere you can use Java. %package javadoc Summary: API Documentation for %{name} Group: Development/Tools Requires: %{name} = %{version}-%{release} %description javadoc JavaDoc documentation for %{name} %prep %setup -q %patch0 -p1 -b .japierdole %build mkdir -p target/lib/{compile,tools} # Construct classpath build-jar-repository target/lib/compile servlet_2_4_api jsp_2_0_api \ asm2/asm2-tree asm2/asm2 asm2/asm2-util \ asm2/asm2-analysis antlr ant/ant-antlr antlr \ bsf jline xstream ant junit ivy commons-cli # Build # TODO: Build at least tests, maybe examples ant -DskipTests=on -DskipExamples=on -DskipFetch=on -DskipEmbeddable=on \ createJars javadoc %install rm -rf $RPM_BUILD_ROOT # Code install -d $RPM_BUILD_ROOT%{_javadir} install -p -m644 target/dist/groovy.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar ln -sf %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar # Startup scripts install -d $RPM_BUILD_ROOT%{_bindir} install -p -m755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/groovy for TOOL in grape groovyc groovyConsole java2groovy groovysh do ln $RPM_BUILD_ROOT%{_bindir}/groovy \ $RPM_BUILD_ROOT%{_bindir}/$TOOL done # Configuration install -d $RPM_BUILD_ROOT%{_sysconfdir} install -p -m644 %{SOURCE2} \ $RPM_BUILD_ROOT%{_sysconfdir}/groovy-starter.conf # Desktop icon install -d $RPM_BUILD_ROOT%{_datadir}/pixmaps install -d $RPM_BUILD_ROOT%{_datadir}/applications install -p -m644 src/main/groovy/ui/ConsoleIcon.png \ $RPM_BUILD_ROOT%{_datadir}/pixmaps/groovy.png desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications \ %{SOURCE3} # API Documentation install -d $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} find target -type d |xargs chmod 755 cp -rp target/html/api/. $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %{_bindir}/* %{_javadir}/* %{_datadir}/pixmaps/* %{_datadir}/applications/* %config(noreplace) %{_sysconfdir}/* %doc LICENSE.txt NOTICE.txt README.txt %files javadoc %defattr(-,root,root,-) %{_javadocdir}/* %changelog * Wed Dec 04 2009 Lubomir Rintel - 1.6.7-1 - New upstream version - Make Jochen happy * Thu Dec 03 2009 Lubomir Rintel - 1.6.6-2 - Build with OpenJDK * Mon Nov 30 2009 Lubomir Rintel - 1.6.6-1 - Bump to 1.6.6 - Don't mistakenly require itself (Jochen Schmitt, #534168#c3) * Fri Nov 27 2009 Lubomir Rintel - 1.6.5-2 - Hopefully fix mockbuild * Mon Nov 09 2009 Lubomir Rintel - 1.6.5-1 - Initial Fedora packaging