%global namedreltag -alpha-7 %global namedversion %{version}%{?namedreltag} %global dotreltag %(echo %{namedreltag} | tr - .) Name: maven-native Version: 1.0 Release: 0.1%{dotreltag}%{?dist} Summary: Compile c and c++ source under Maven Group: Development/Libraries License: MIT Url: http://mojo.codehaus.org/maven-native/ Source0: http://repo2.maven.org/maven2/org/codehaus/mojo/natives/%{name}/%{namedversion}/%{name}-%{namedversion}-source-release.zip BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: mojo-parent BuildRequires: apache-commons-lang BuildRequires: bcel BuildRequires: backport-util-concurrent BuildRequires: maven # BuildRequires: maven-project BuildRequires: plexus-archiver BuildRequires: plexus-component-api BuildRequires: plexus-container-default BuildRequires: plexus-utils # test deps BuildRequires: junit BuildRequires: maven-plugin-testing-harness BuildRequires: maven-compiler-plugin BuildRequires: maven-enforcer-plugin BuildRequires: maven-install-plugin BuildRequires: maven-jar-plugin BuildRequires: maven-javadoc-plugin BuildRequires: maven-plugin-cobertura BuildRequires: maven-plugin-plugin BuildRequires: maven-resources-plugin BuildRequires: maven-surefire-plugin BuildRequires: maven-surefire-provider-junit4 Requires: backport-util-concurrent Requires: plexus-container-default Requires: plexus-utils Requires: java Requires: jpackage-utils BuildArch: noarch %description The Codehaus is a collaborative environment for building open source projects with a strong emphasis on modern languages, focussed on quality components that meet real world needs. Maven Native - compile C and C++ source under Maven with compilers such as GCC, MSVC, GCJ etc ... %package components Group: Development/Libraries Summary: Maven Native Components Requires: jpackage-utils Requires: %{name} = %{version}-%{release} Requires: apache-commons-lang Requires: backport-util-concurrent Requires: plexus-container-default Requires: plexus-utils %description components %{summary}. %package -n native-maven-plugin Group: Development/Libraries Summary: Native Maven Plugin Requires: jpackage-utils Requires: %{name} = %{version}-%{release} Requires: %{name}-components = %{version}-%{release} Requires: bcel Requires: maven # Requires: maven-project Requires: plexus-archiver Requires: plexus-utils %description -n native-maven-plugin %{summary}. %package javadoc Group: Documentation Summary: Javadoc for %{name} Requires: jpackage-utils %description javadoc This package contains javadoc for %{name}. %prep %setup -q -n %{name}-%{namedversion} for d in LICENSE ; do iconv -f iso8859-1 -t utf-8 $d.txt > $d.txt.conv && mv -f $d.txt.conv $d.txt sed -i 's/\r//' $d.txt done sed -i 's|maven-project|maven-compat|' pom.xml %pom_remove_dep :maven-project native-maven-plugin %pom_xpath_inject "pom:project/pom:dependencies" " org.apache.maven maven-core 3.0.3 " native-maven-plugin %pom_xpath_inject "pom:project/pom:dependencies" " org.apache.maven maven-compat 3.0.3 " native-maven-plugin %build # Tests in error: # testMojoLookup(org.codehaus.mojo.natives.plugin.NativeInitializeMojoTest): java.util.NoSuchElementException # testMojoLookup(org.codehaus.mojo.natives.plugin.NativeRanlibMojoTest): java.util.NoSuchElementException # testMojoLookup(org.codehaus.mojo.natives.plugin.NativeCompileMojoTest): java.util.NoSuchElementException # testSources(org.codehaus.mojo.natives.plugin.NativeCompileMojoTest): java.util.NoSuchElementException # testJavahOS(org.codehaus.mojo.natives.plugin.NativeCompileMojoTest): java.util.NoSuchElementException # testClassPathBeginsWithProjectOutputDirectory(org.codehaus.mojo.natives.plugin.NativeJavahMojoTest): java.util.NoSuchElementException # testMojoLookup(org.codehaus.mojo.natives.plugin.NativeJavahMojoTest): java.util.NoSuchElementException # testExecute(org.codehaus.mojo.natives.plugin.NativeLinkerMojoTest): java.util.NoSuchElementException # testMojoLookup(org.codehaus.mojo.natives.plugin.NativeLinkerMojoTest): java.util.NoSuchElementException mvn-rpmbuild -e -Dmaven.test.failure.ignore=true install javadoc:aggregate %install mkdir -p %{buildroot}%{_mavenpomdir} install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}.pom %add_maven_depmap JPP.%{name}-%{name}.pom mkdir -p %{buildroot}%{_javadir}/%{name} install -m 644 %{name}-api/target/%{name}-api-%{namedversion}.jar %{buildroot}%{_javadir}/%{name}/%{name}-api.jar install -pm 644 %{name}-api/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-api.pom %add_maven_depmap JPP.%{name}-%{name}-api.pom %{name}/%{name}-api.jar install -m 644 native-maven-plugin/target/native-maven-plugin-%{namedversion}.jar %{buildroot}%{_javadir}/%{name}/native-maven-plugin.jar install -pm 644 native-maven-plugin/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-native-maven-plugin.pom %add_maven_depmap JPP.%{name}-native-maven-plugin.pom %{name}/native-maven-plugin.jar -f plugin mv -f %{buildroot}%{_mavendepmapfragdir}/%{name}-plugin %{buildroot}%{_mavendepmapfragdir}/native-maven-plugin pushd maven-native-components install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-components.pom %add_maven_depmap JPP.%{name}-components.pom -f components for m in bcc \ generic-c \ javah \ manager \ msvc; do install -m 644 %{name}-${m}/target/%{name}-${m}-%{namedversion}.jar %{buildroot}%{_javadir}/%{name}/%{name}-${m}.jar install -pm 644 %{name}-${m}/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-${m}.pom %add_maven_depmap JPP.%{name}-%{name}-${m}.pom %{name}/%{name}-${m}.jar -f components done popd mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name} %files %dir %{_javadir}/%{name} %{_javadir}/%{name}/%{name}-api.jar %{_mavenpomdir}/JPP.%{name}-%{name}.pom %{_mavenpomdir}/JPP.%{name}-%{name}-api.pom %{_mavendepmapfragdir}/%{name} %doc LICENSE.txt %files components %{_javadir}/%{name}/%{name}-bcc.jar %{_javadir}/%{name}/%{name}-generic-c.jar %{_javadir}/%{name}/%{name}-javah.jar %{_javadir}/%{name}/%{name}-manager.jar %{_javadir}/%{name}/%{name}-msvc.jar %{_mavenpomdir}/JPP.%{name}-%{name}-bcc.pom %{_mavenpomdir}/JPP.%{name}-%{name}-generic-c.pom %{_mavenpomdir}/JPP.%{name}-%{name}-javah.pom %{_mavenpomdir}/JPP.%{name}-%{name}-manager.pom %{_mavenpomdir}/JPP.%{name}-%{name}-msvc.pom %{_mavenpomdir}/JPP.%{name}-components.pom %{_mavendepmapfragdir}/%{name}-components %doc LICENSE.txt %files -n native-maven-plugin %{_javadir}/%{name}/native-maven-plugin.jar %{_mavenpomdir}/JPP.%{name}-native-maven-plugin.pom %{_mavendepmapfragdir}/native-maven-plugin %doc LICENSE.txt %files javadoc %{_javadocdir}/%{name} %doc LICENSE.txt %changelog * Mon Oct 08 2012 gil cattaneo 1.0-0.1.alpha.7 - initial rpm