Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > be05cb9246f325705ed0c42ecaf0e3b5 > files > 7

javamail-1.4.3-2.fc13.src.rpm

%global with_gcj %{!?_without_gcj:1}%{?_without_gcj:0}

Name:		javamail
Version:	1.4.3
Release:	2%{?dist}
Summary:	Java Mail API

Group:		Development/Libraries
License:	CDDL or GPLv2 with exceptions
URL:		http://java.sun.com/products/javamail/

# Parent POM
Source0:	http://download.java.net/maven/2/com/sun/mail/all/%{version}/all-%{version}.pom

# POMs and source files for things that get built
Source1:	http://download.java.net/maven/2/javax/mail/mail/%{version}/mail-%{version}-sources.jar
Source2:	http://download.java.net/maven/2/javax/mail/mail/%{version}/mail-%{version}.pom
Source3:	http://download.java.net/maven/2/com/sun/mail/dsn/%{version}/dsn-%{version}-sources.jar
Source4:	http://download.java.net/maven/2/com/sun/mail/dsn/%{version}/dsn-%{version}.pom

# Additional POMs for things that are provided by the monolithic mail.jar
Source5:	http://download.java.net/maven/2/javax/mail/mailapi/%{version}/mailapi-%{version}.pom
Source6:	http://download.java.net/maven/2/com/sun/mail/imap/%{version}/imap-%{version}.pom
Source7:	http://download.java.net/maven/2/com/sun/mail/pop3/%{version}/pop3-%{version}.pom
Source8:	http://download.java.net/maven/2/com/sun/mail/smtp/%{version}/smtp-%{version}.pom

# Parent POM for many of the above
# http://kenai.com/projects/javamail/sources/mercurial/content/parent-distrib/pom.xml?raw=true
Source9:	%{name}-parent-distrib.pom

# Remove Maven plugins we don't have yet
# Remove unavailable-on-Fedora dependencies from pom.xml
Patch0:		%{name}-cleanup-poms.patch

BuildRoot:	%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

BuildRequires:	jpackage-utils
BuildRequires:	maven2
BuildRequires:	maven2-plugin-assembly
BuildRequires:	maven2-plugin-compiler 
BuildRequires:	maven2-plugin-dependency
BuildRequires:	maven2-plugin-install
BuildRequires:	maven2-plugin-jar
BuildRequires:	maven2-plugin-javadoc
BuildRequires:	maven2-plugin-resources
BuildRequires:	maven2-plugin-site
BuildRequires:	maven-plugin-bundle
BuildRequires:	maven-surefire-maven-plugin
BuildRequires:	tomcat5
BuildRequires:	tomcat5-jsp-2.0-api

BuildRequires:	java-devel >= 1:1.6.0

Requires:	jpackage-utils
Requires(post):	jpackage-utils
Requires(postun): jpackage-utils

# Requirements from POMs
Requires:	tomcat5-jsp-2.0-api

# Adapted from the classpathx-mail (and JPackage glassfish-javamail) Provides
Provides:	javamail-monolithic = 0:%{version}

%if %{with_gcj}
BuildRequires:	java-gcj-compat-devel >= 1.0.31
Requires(post):	java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%else
BuildArch:	noarch
%endif


%description
The JavaMail API provides a platform-independent and protocol-independent
framework to build mail and messaging applications. 


%package javadoc
Summary:	Javadoc for %{name}
Group:		Documentation
Requires:	jpackage-utils >= 0:1.7.5
BuildArch:	noarch

%description javadoc
%{summary}.


%prep
%setup -c -T
mkdir -p mail dsn

(cd mail && jar xvf %SOURCE1 && cp %SOURCE2 ./pom.xml)
(cd dsn && jar xvf %SOURCE3 && cp %SOURCE4 ./pom.xml)

for sub in *; do
	pushd $sub
	mkdir -p src/main/java src/main/resources
	mv META-INF src/main/resources
	[ -e com ] && mv com src/main/java
	[ -e javax ] && mv javax src/main/java
	popd
done

cp %SOURCE0 ./pom.xml
mkdir poms
cp %SOURCE5 %SOURCE6 %SOURCE7 %SOURCE8 %SOURCE9 poms

%patch0 -p1

# Convert license file to UTF-8
for file in mail/src/main/resources/META-INF/*.txt; do
	iconv -f ISO-8859-1 -t UTF-8 -o $file.new $file && \
	touch -r $file $file.new && \
	mv $file.new $file
done


%build
export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository
mkdir -p $MAVEN_REPO_LOCAL

mvn-jpp \
	-P deploy \
	-Dmaven.repo.local=$MAVEN_REPO_LOCAL \
	package javadoc:javadoc


%install
rm -rf $RPM_BUILD_ROOT

install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/%{name}
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms
install -d -m 755 p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
(cd $RPM_BUILD_ROOT%{_javadocdir} && ln -sf %{name}-%{version} %{name})

install -pm 644 pom.xml $RPM_BUILD_ROOT/%{_datadir}/maven2/poms/JPP-%{name}-all.pom
%add_to_maven_depmap com.sun.mail all %{version} JPP %{name}-all

# Install everything
for sub in mail dsn; do
	install -m 644 $sub/target/$sub.jar \
		$RPM_BUILD_ROOT%{_javadir}/%{name}/$sub-%{version}.jar
	install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/$sub/
	cp -pr $sub/target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/$sub/
done
install -m 644 mail/pom.xml $RPM_BUILD_ROOT/%{_datadir}/maven2/poms/JPP-%{name}.pom
install -m 644 dsn/pom.xml $RPM_BUILD_ROOT/%{_datadir}/maven2/poms/JPP-%{name}-dsn.pom

# Install the remaining POMs
for sub in mailapi imap pop3 smtp; do
	install -m 644 poms/$sub-%{version}.pom \
		$RPM_BUILD_ROOT/%{_datadir}/maven2/poms/JPP-%{name}-$sub.pom
done

# Add maven dependency information
%add_to_maven_depmap javax.mail mail %{version} JPP/%{name} mail
%add_to_maven_depmap com.sun.mail dsn %{version} JPP/%{name} dsn
%add_to_maven_depmap javax.mail mailapi %{version} JPP/%{name} mail
%add_to_maven_depmap com.sun.mail imap %{version} JPP/%{name} mail
%add_to_maven_depmap com.sun.mail pop3 %{version} JPP/%{name} mail
%add_to_maven_depmap com.sun.mail smtp %{version} JPP/%{name} mail

install -m 644 poms/%{name}-parent-distrib.pom \
	$RPM_BUILD_ROOT/%{_datadir}/maven2/poms/JPP-%{name}-parent-distrib.pom
%add_to_maven_depmap com.sun.mail parent-distrib %{version} JPP %{name}

(cd $RPM_BUILD_ROOT%{_javadir}/%{name} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)

%if %{with_gcj}
%{_bindir}/aot-compile-rpm
%endif


%clean
rm -rf $RPM_BUILD_ROOT

%post
%update_maven_depmap
%if %{with_gcj}
  if [ -x %{_bindir}/rebuild-gcj-db ] 
  then
    %{_bindir}/rebuild-gcj-db
  fi
%endif

%postun
%update_maven_depmap
%if %{with_gcj}
  if [ -x %{_bindir}/rebuild-gcj-db ] 
  then
    %{_bindir}/rebuild-gcj-db
  fi
%endif


%files
%defattr(-,root,root,-)
%doc mail/src/main/resources/META-INF/LICENSE.txt mail/overview.html
%{_javadir}/%{name}
%config(noreplace) %{_mavendepmapfragdir}/*
%{_datadir}/maven2/poms/*.pom
%if %{with_gcj}
%attr(-,root,root) %{_libdir}/gcj/%{name}
%endif

%files javadoc
%defattr(-,root,root,-)
%{_javadocdir}/%{name}-%{version}
%{_javadocdir}/%{name}


%changelog
* Fri Jan  8 2010 Mary Ellen Foster <mefoster at gmail.com> 1.4.3-2
- Remove unnecessary (build)requirement tomcat5-servlet-2.4-api
- Move jar files into subdirectory

* Wed Dec  2 2009 Mary Ellen Foster <mefoster at gmail.com> 1.4.3-1
- Initial package