Name: groovy2 Version: 2.0.1 Release: 1%{?dist} Summary: 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/groovy-src-%{version}.zip # TODO remove these poms when gradle maven plugin work properly Source1: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy/%{version}/groovy-%{version}.pom Source2: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-ant/%{version}/groovy-ant-%{version}.pom Source3: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-bsf/%{version}/groovy-bsf-%{version}.pom Source4: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-console/%{version}/groovy-console-%{version}.pom Source5: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-docgenerator/%{version}/groovy-docgenerator-%{version}.pom Source6: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-groovydoc/%{version}/groovy-groovydoc-%{version}.pom Source7: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-groovysh/%{version}/groovy-groovysh-%{version}.pom Source8: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-jmx/%{version}/groovy-jmx-%{version}.pom Source9: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-json/%{version}/groovy-json-%{version}.pom Source10: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-sql/%{version}/groovy-sql-%{version}.pom Source11: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-templates/%{version}/groovy-templates-%{version}.pom Source12: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-test/%{version}/groovy-test-%{version}.pom Source13: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-testng/%{version}/groovy-testng-%{version}.pom Source14: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-xml/%{version}/groovy-xml-%{version}.pom Source15: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-servlet/%{version}/groovy-servlet-%{version}.pom Source16: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-jsr223/%{version}/groovy-jsr223-%{version}.pom Source17: http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-all/%{version}/groovy-all-%{version}.pom Source18: groovy2-script Source19: groovy2-starter.conf Source20: groovy2.desktop # disable test, examples and groovy-all.jar # use system libraries # remove gradle maven plugin references Patch0: groovy-%{version}-build.patch # revert patch0, disable only antlr commons-cli asm4 rebundle Patch1: groovy-%{version}-assemble.patch BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: gradle # BuildRequires: desktop-file-utils BuildRequires: unzip BuildRequires: ant BuildRequires: ant-antlr BuildRequires: ant-junit BuildRequires: ant-testutil BuildRequires: antlr-tool BuildRequires: apache-commons-cli BuildRequires: apache-commons-logging BuildRequires: apache-ivy BuildRequires: aqute-bnd BuildRequires: bsf BuildRequires: checkstyle BuildRequires: cobertura BuildRequires: hsqldb BuildRequires: jansi # TODO com.googlecode.jarjar:jarjar:1.3 BuildRequires: jarjar BuildRequires: jline BuildRequires: junit BuildRequires: objectweb-asm4 BuildRequires: qdox # TODO org.testng:testng:6.5.2 BuildRequires: testng BuildRequires: tomcat-jsp-2.2-api BuildRequires: tomcat-servlet-3.0-api BuildRequires: xmlunit # TODO com.thoughtworks.xstream:xstream:1.4.2 BuildRequires: xstream Requires: ant Requires: ant-antlr Requires: antlr-tool Requires: apache-commons-cli Requires: apache-commons-logging Requires: apache-ivy Requires: bsf Requires: jansi Requires: jline Requires: junit Requires: objectweb-asm4 Requires: tomcat-jsp-2.2-api Requires: tomcat-servlet-3.0-api Requires: xstream Requires: java Requires: jpackage-utils BuildArch: noarch %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 byte-code so you can use it anywhere you can use Java. %package javadoc Group: Documentation Summary: Javadoc for %{name} Requires: jpackage-utils %description javadoc This package contains javadoc for %{name}. %prep %setup -q -n groovy-%{version} find . -name "*.jar" -delete find . -name "*.class" -delete %patch0 -p1 %patch1 -p0 # require gradle maven plugin sed -i "s|provided dep|//provided dep|" subprojects/groovy-servlet/build.gradle # disable groovy-all-tests subprojects sed -i "s|'groovy-xml',|'groovy-xml'|" settings.gradle sed -i "s|'groovy-all-tests'||" settings.gradle # require gradle maven plugin sed -i 's|apply from: "gradle/upload.gradle"||' build.gradle # fix non ASCII chars for s in subprojects/groovy-test/src/main/java/org/codehaus/groovy/transform/NotYetImplementedASTTransformation.java\ subprojects/groovy-test/src/main/java/groovy/transform/NotYetImplemented.java;do native2ascii -encoding UTF8 ${s} ${s} done # remove unavailable runtime deps cp -p %{SOURCE1} pom.xml %pom_remove_dep org.codehaus.gpars:gpars cp -p %{SOURCE15} pom-servlet.xml sed -i "s|javax.servlet|org.apache.tomcat|" pom-servlet.xml sed -i "s|jsp-api|tomcat-jsp-api|" pom-servlet.xml sed -i "s|2.0|7.0.27|" pom-servlet.xml sed -i "s|servlet-api|tomcat-servlet-api|" pom-servlet.xml sed -i "s|2.4|7.0.27|" pom-servlet.xml cp -p %{SOURCE1} pom-all.xml %pom_remove_dep org.codehaus.gpars:gpars pom-all.xml sed -i 's/\r//' README.md %build mkdir -p gradlehome # The Groovy build supports the new Java 7 JVM instruction ```invokedynamic```. # If you want to build Groovy with invokedynamic, you can use the project property ```indy```: # gradle -Pindy=true .... # build buildSrc.jar gradle --debug -g $PWD/gradlehome -b $PWD/buildSrc/build.gradle gradle --debug assemble jarAll javadocAll -g $PWD/gradlehome -b $PWD/build.gradle %install mkdir -p %{buildroot}%{_javadir}/%{name} install -pm 644 target/libs/groovy-%{version}.jar %{buildroot}%{_javadir}/%{name}/groovy.jar install -pm 644 target/libs/groovy-all-%{version}.jar %{buildroot}%{_javadir}/groovy-all.jar for j in ant bsf console docgenerator groovydoc groovysh jmx json jsr223 servlet sql swing templates test testng xml;do install -pm 644 subprojects/groovy-${j}/target/libs/groovy-${j}-%{version}.jar %{buildroot}%{_javadir}/%{name}/groovy-${j}.jar done mkdir -p %{buildroot}%{_mavenpomdir} # TODO use the poms files generated by gradle maven plugin install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy.pom %add_maven_depmap JPP.%{name}-groovy.pom %{name}/groovy.jar install -pm 644 %{SOURCE2} %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-ant.pom %add_maven_depmap JPP.%{name}-groovy-ant.pom %{name}/groovy-ant.jar install -pm 644 %{SOURCE3} %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-bsf.pom %add_maven_depmap JPP.%{name}-groovy-bsf.pom %{name}/groovy-bsf.jar install -pm 644 %{SOURCE4} %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-console.pom %add_maven_depmap JPP.%{name}-groovy-console.pom %{name}/groovy-console.jar install -pm 644 %{SOURCE5} %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-docgenerator.pom %add_maven_depmap JPP.%{name}-groovy-docgenerator.pom %{name}/groovy-docgenerator.jar install -pm 644 %{SOURCE6} %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-groovydoc.pom %add_maven_depmap JPP.%{name}-groovy-groovydoc.pom %{name}/groovy-groovydoc.jar install -pm 644 %{SOURCE7} %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-groovysh.pom %add_maven_depmap JPP.%{name}-groovy-groovysh.pom %{name}/groovy-groovysh.jar install -pm 644 %{SOURCE8} %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-jmx.pom %add_maven_depmap JPP.%{name}-groovy-jmx.pom %{name}/groovy-jmx.jar install -pm 644 %{SOURCE16} %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-jsr223.pom %add_maven_depmap JPP.%{name}-groovy-jsr223.pom %{name}/groovy-jsr223.jar install -pm 644 %{SOURCE9} %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-json.pom %add_maven_depmap JPP.%{name}-groovy-json.pom %{name}/groovy-json.jar install -pm 644 %{SOURCE10} %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-sql.pom %add_maven_depmap JPP.%{name}-groovy-sql.pom %{name}/groovy-sql.jar install -pm 644 pom-servlet.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-servlet.pom %add_maven_depmap JPP.%{name}-groovy-servlet.pom %{name}/groovy-servlet.jar install -pm 644 %{SOURCE11} %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-templates.pom %add_maven_depmap JPP.%{name}-groovy-templates.pom %{name}/groovy-templates.jar install -pm 644 %{SOURCE12} %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-test.pom %add_maven_depmap JPP.%{name}-groovy-test.pom %{name}/groovy-test.jar install -pm 644 %{SOURCE13} %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-testng.pom %add_maven_depmap JPP.%{name}-groovy-testng.pom %{name}/groovy-testng.jar install -pm 644 %{SOURCE14} %{buildroot}%{_mavenpomdir}/JPP.%{name}-groovy-xml.pom %add_maven_depmap JPP.%{name}-groovy-xml.pom %{name}/groovy-xml.jar install -pm 644 pom-all.xml %{buildroot}%{_mavenpomdir}/JPP-groovy-all.pom %add_maven_depmap JPP-groovy-all.pom groovy-all.jar mkdir -p %{buildroot}%{_javadocdir}/%{name} #cp -rp target/allgroovydoc/* find target -type d |xargs chmod 755 cp -rp target/alljavadoc/* %{buildroot}%{_javadocdir}/%{name} mkdir -p %{buildroot}%{_bindir} install -pm 755 %{SOURCE18} %{buildroot}%{_bindir}/%{name} for TOOL in grape2 %{name}c %{name}Console java2%{name} %{name}sh; do ln %{buildroot}%{_bindir}/%{name} %{buildroot}%{_bindir}/$TOOL done mkdir -p %{buildroot}%{_sysconfdir} install -pm 644 %{SOURCE19} %{buildroot}%{_sysconfdir}/%{name}-starter.conf mkdir -p %{buildroot}%{_datadir}/pixmaps mkdir -p %{buildroot}%{_datadir}/applications install -pm 644 subprojects/groovy-console/src/main/groovy/groovy/ui/ConsoleIcon.png \ %{buildroot}%{_datadir}/pixmaps/%{name}.png desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE20} %files %{_bindir}/* %{_javadir}/groovy-all.jar %{_datadir}/pixmaps/* %{_datadir}/applications/* %dir %{_javadir}/%{name} %{_javadir}/%{name}/* %{_mavenpomdir}/JPP*.pom %{_mavendepmapfragdir}/%{name} %config(noreplace) %{_sysconfdir}/* %doc LICENSE.txt NOTICE.txt README.md %files javadoc %{_javadocdir}/%{name} %doc LICENSE.txt NOTICE.txt %changelog * Tue Aug 28 2012 gil cattaneo 2.0.1-1 - Updated to upstream version 2.0.1 * Tue Jul 03 2012 gil cattaneo 2.0.0-1 - initial rpm