summaryrefslogtreecommitdiff
path: root/java-snappy.spec
blob: 578f857ce81cf435ddecad7154b0cefd4e22e800 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# TODO
# - recompile org/xerial/snappy/native/*
#
# Conditional build:
%bcond_with	javadoc		# don't build javadoc

%define		srcname		snappy
Summary:	Snappy compressor/decompressor for Java
Name:		java-%{srcname}
Version:	1.0.4.1
Release:	1
License:	Apache v2.0
Group:		Libraries/Java
# hg clone --insecure -r snappy-java-1.0.4.1 https://code.google.com/p/snappy-java/
# cd snappy-java && hg archive -p snappy-java-1.0.4.1/ -X 'lib/*.jar' -t tgz ../snappy-java-1.0.4.1-CLEAN.tgz
Source0:	snappy-java-%{version}-CLEAN.tgz
# Source0-md5:	53d74de12e54772299b03db495c21004
URL:		http://xerial.org/snappy-java/
BuildRequires:	java-osgi-core >= 4.3
BuildRequires:	jdk
BuildRequires:	jpackage-utils
BuildRequires:	rpm-javaprov
BuildRequires:	rpmbuild(macros) >= 1.300
Requires:	java-osgi-core >= 4.3
Requires:	jpackage-utils
Requires:	jre
BuildArch:	noarch
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
The snappy-java is a Java port of the snappy, a fast
compresser/decompresser written in C++, originally developed by
Google.

%package javadoc
Summary:	Javadocs for %{name}
Group:		Documentation

%description javadoc
This package contains the API documentation for %{name}.

%prep
%setup -q -n snappy-java-%{version}

find -name '*.class' -print -delete

%build
install -d target
topdir=${PWD:-$(pwd)}

required_jars="osgi.core"
CLASSPATH=$(build-classpath $required_jars)
export CLASSPATH

cd src/main/java
%javac -cp $CLASSPATH $(find -name '*.java')

# create jar
%jar cf $topdir/target/%{srcname}-%{version}.jar $(find -name '*.class') \
	org/xerial/snappy/VERSION

cd ../resources
%jar uf $topdir/target/%{srcname}-%{version}.jar \
	org/xerial/snappy/*.bytecode \
	org/xerial/snappy/native/** \

%install
rm -rf $RPM_BUILD_ROOT

# JAR
install -d $RPM_BUILD_ROOT%{_javadir}
cp -p target/%{srcname}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}-%{version}.jar
ln -s %{srcname}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}.jar

# upstream name
ln -s %{srcname}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/snappy-java-%{version}.jar
ln -s snappy-java-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/snappy-java.jar

%if %{with javadoc}
install -d $RPM_BUILD_ROOT%{_javadocdir}/%{srcname}-%{version}
cp -a target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{srcname}-%{version}
ln -s %{srcname}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{srcname} # ghost symlink
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%post javadoc
ln -nfs %{srcname}-%{version} %{_javadocdir}/%{srcname}

%files
%defattr(644,root,root,755)
%doc LICENSE README NOTICE
%{_javadir}/%{srcname}-%{version}.jar
%{_javadir}/%{srcname}.jar
%{_javadir}/snappy-java-%{version}.jar
%{_javadir}/snappy-java.jar

%if %{with javadoc}
%files javadoc
%defattr(644,root,root,755)
%{_javadocdir}/%{srcname}-%{version}
%ghost %{_javadocdir}/%{srcname}
%endif