Group :: Development/Java
RPM: jdkgcj
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Name: jdkgcj
Version: 0.3.3
Release: alt16
Summary: A free Java SDK
License: GPL
Group: Development/Java
Url: http://www.arklinux.org/projects/jdkgcj
Packager: Dmitry V. Levin <ldv at altlinux.org>
%define origin gcj
%define javaver 1.5.0
%define java_home %_jvmdir/%name
%define sdkbindir %java_home/bin
%define jrebindir %java_home/jre/bin
%define priority 1200
Requires: gcc%__gcc_version_base-java = %__gcc_version
Requires: gcc-java-common >= 1.4.12-alt1
Requires: java-common >= 1.1
BuildRequires(pre): alternatives >= 0:0.4
BuildRequires(pre): rpm-build-java
Source: %name-%version.tar
Source1: %name-notimpl.sh
Source2: %name-refentry.xml
%set_compress_method gzip
BuildRequires: gcc%__gcc_version_base-java xmlto
%description
jdkgcj provides an interface to gcj that is compatible with the Sun and IBM
Java Development Kits (JDKs).
jdkgcj provides the javac, java and javah tools as well as jni.h, allowing
you to compile java extensions using JNI.
%prep
%setup -q -n %name
%build
%configure \
--prefix=%java_home \
--bindir=%sdkbindir \
--includedir=%java_home/include
xmlto -o man man %SOURCE2
%install
rln()
{
local target=$1 && shift
local source=$1 && shift
target=`relative "$target" "$source"`
ln -snf "$target" "%buildroot$source"
}
%make_install install DESTDIR=%buildroot
rln %_bindir/fastjar %sdkbindir/jar
for i in appletviewer keytool jarsigner javah rmic; do
rln %_bindir/gcj %sdkbindir/$i
done
install -p -m755 %SOURCE1 %buildroot%sdkbindir/notimpl
mkdir -p %buildroot%java_home/man/man1
install -pm644 man/javac.1 %buildroot%java_home/man/man1/jdkgcj.1
for f in javac javah jar rmic; do
ln -s jdkgcj.1 %buildroot%java_home/man/man1/"$f".1
done
gcj_target_libdir=`gcj -print-search-dirs |sed -ne 's|^install: \(/.*\)/$|\1|p'`
for f in java javax jvmpi.h; do
rln "$gcj_target_libdir/include/$f" %java_home/include/
done
for i in extcheck idlj javadoc javap jdb native2ascii serialver; do
ln -snf notimpl %buildroot%sdkbindir/$i
done
# jre dir and stuff
mkdir -p %buildroot%jrebindir
pushd %buildroot%sdkbindir
for i in java \
keytool policytool servertool pack200 unpack200 \
orbd rmid rmiregistry tnameserv
do
[ -e "$i" ] && ln -s ../../bin/$i %buildroot%jrebindir/
done
popd
mkdir -p %buildroot%_altdir
# jre alternative
%__cat <<EOF >%buildroot%_altdir/%name-java
%{_bindir}/java %{jrebindir}/java %priority
%_man1dir/java.1.gz %java_home/man/man1/java.1.gz %{jrebindir}/java
EOF
# binaries and manuals
for i in keytool policytool servertool pack200 unpack200 \
orbd rmid rmiregistry tnameserv
do
[ -L %buildroot%jrebindir"$i" ] || [ -e %buildroot%jrebindir"$i" ] && \
%__cat <<EOF >>%buildroot%_altdir/%name-java
%_bindir/$i %jrebindir/$i %{jrebindir}/java
EOF
[ -L %java_home/man/man1/$i.1.gz ] || [ -e %java_home/man/man1/$i.1.gz ] && \
%__cat <<EOF >>%buildroot%_altdir/%name-java
%_man1dir/$i.1.gz %java_home/man/man1/$i.1.gz %{jrebindir}/java
EOF
done
# javac alternative and manual
cat <<EOF>%buildroot%_altdir/%name-javac
%_bindir/javac %sdkbindir/javac %priority
%_man1dir/javac.1.gz %java_home/man/man1/javac.1.gz %sdkbindir/javac
EOF
# binaries and manuals
for i in appletviewer extcheck idlj jar jarsigner javadoc javah javap jdb native2ascii rmic serialver apt jconsole jinfo jmap jps jsadebugd jstack jstat jstatd \
jhat jrunscript jvisualvm schemagen wsgen wsimport xjc \
HtmlConverter
do
[ -L $RPM_BUILD_ROOT%sdkbindir/$i ] || [ -e $RPM_BUILD_ROOT%sdkbindir/$i ] && \
%__cat <<EOF >>%buildroot%_altdir/%name-javac
%_bindir/$i %sdkbindir/$i %sdkbindir/javac
EOF
[ -L $RPM_BUILD_ROOT%sdkbindir/$i ] || [ -e $RPM_BUILD_ROOT%java_home/man/man1/$i.1.gz ] && \
%__cat <<EOF >>%buildroot%_altdir/%name-javac
%_man1dir/$i.1.gz %java_home/man/man1/$i.1.gz %sdkbindir/javac
EOF
done
# ----- JPackage compatibility alternatives ------
%__cat <<EOF >>%buildroot%_altdir/%name-javac
%{_jvmdir}/java %java_home %sdkbindir/javac
%{_jvmdir}/java-%{origin} %java_home %sdkbindir/javac
%{_jvmdir}/java-%{javaver} %java_home %sdkbindir/javac
EOF
%files
%_altdir/%name-java
%_altdir/%name-javac
%java_home
%changelog
…
Full changelog you can see here
Version: 0.3.3
Release: alt16
Summary: A free Java SDK
License: GPL
Group: Development/Java
Url: http://www.arklinux.org/projects/jdkgcj
Packager: Dmitry V. Levin <ldv at altlinux.org>
%define origin gcj
%define javaver 1.5.0
%define java_home %_jvmdir/%name
%define sdkbindir %java_home/bin
%define jrebindir %java_home/jre/bin
%define priority 1200
Requires: gcc%__gcc_version_base-java = %__gcc_version
Requires: gcc-java-common >= 1.4.12-alt1
Requires: java-common >= 1.1
BuildRequires(pre): alternatives >= 0:0.4
BuildRequires(pre): rpm-build-java
Source: %name-%version.tar
Source1: %name-notimpl.sh
Source2: %name-refentry.xml
%set_compress_method gzip
BuildRequires: gcc%__gcc_version_base-java xmlto
%description
jdkgcj provides an interface to gcj that is compatible with the Sun and IBM
Java Development Kits (JDKs).
jdkgcj provides the javac, java and javah tools as well as jni.h, allowing
you to compile java extensions using JNI.
%prep
%setup -q -n %name
%build
%configure \
--prefix=%java_home \
--bindir=%sdkbindir \
--includedir=%java_home/include
xmlto -o man man %SOURCE2
%install
rln()
{
local target=$1 && shift
local source=$1 && shift
target=`relative "$target" "$source"`
ln -snf "$target" "%buildroot$source"
}
%make_install install DESTDIR=%buildroot
rln %_bindir/fastjar %sdkbindir/jar
for i in appletviewer keytool jarsigner javah rmic; do
rln %_bindir/gcj %sdkbindir/$i
done
install -p -m755 %SOURCE1 %buildroot%sdkbindir/notimpl
mkdir -p %buildroot%java_home/man/man1
install -pm644 man/javac.1 %buildroot%java_home/man/man1/jdkgcj.1
for f in javac javah jar rmic; do
ln -s jdkgcj.1 %buildroot%java_home/man/man1/"$f".1
done
gcj_target_libdir=`gcj -print-search-dirs |sed -ne 's|^install: \(/.*\)/$|\1|p'`
for f in java javax jvmpi.h; do
rln "$gcj_target_libdir/include/$f" %java_home/include/
done
for i in extcheck idlj javadoc javap jdb native2ascii serialver; do
ln -snf notimpl %buildroot%sdkbindir/$i
done
# jre dir and stuff
mkdir -p %buildroot%jrebindir
pushd %buildroot%sdkbindir
for i in java \
keytool policytool servertool pack200 unpack200 \
orbd rmid rmiregistry tnameserv
do
[ -e "$i" ] && ln -s ../../bin/$i %buildroot%jrebindir/
done
popd
mkdir -p %buildroot%_altdir
# jre alternative
%__cat <<EOF >%buildroot%_altdir/%name-java
%{_bindir}/java %{jrebindir}/java %priority
%_man1dir/java.1.gz %java_home/man/man1/java.1.gz %{jrebindir}/java
EOF
# binaries and manuals
for i in keytool policytool servertool pack200 unpack200 \
orbd rmid rmiregistry tnameserv
do
[ -L %buildroot%jrebindir"$i" ] || [ -e %buildroot%jrebindir"$i" ] && \
%__cat <<EOF >>%buildroot%_altdir/%name-java
%_bindir/$i %jrebindir/$i %{jrebindir}/java
EOF
[ -L %java_home/man/man1/$i.1.gz ] || [ -e %java_home/man/man1/$i.1.gz ] && \
%__cat <<EOF >>%buildroot%_altdir/%name-java
%_man1dir/$i.1.gz %java_home/man/man1/$i.1.gz %{jrebindir}/java
EOF
done
# javac alternative and manual
cat <<EOF>%buildroot%_altdir/%name-javac
%_bindir/javac %sdkbindir/javac %priority
%_man1dir/javac.1.gz %java_home/man/man1/javac.1.gz %sdkbindir/javac
EOF
# binaries and manuals
for i in appletviewer extcheck idlj jar jarsigner javadoc javah javap jdb native2ascii rmic serialver apt jconsole jinfo jmap jps jsadebugd jstack jstat jstatd \
jhat jrunscript jvisualvm schemagen wsgen wsimport xjc \
HtmlConverter
do
[ -L $RPM_BUILD_ROOT%sdkbindir/$i ] || [ -e $RPM_BUILD_ROOT%sdkbindir/$i ] && \
%__cat <<EOF >>%buildroot%_altdir/%name-javac
%_bindir/$i %sdkbindir/$i %sdkbindir/javac
EOF
[ -L $RPM_BUILD_ROOT%sdkbindir/$i ] || [ -e $RPM_BUILD_ROOT%java_home/man/man1/$i.1.gz ] && \
%__cat <<EOF >>%buildroot%_altdir/%name-javac
%_man1dir/$i.1.gz %java_home/man/man1/$i.1.gz %sdkbindir/javac
EOF
done
# ----- JPackage compatibility alternatives ------
%__cat <<EOF >>%buildroot%_altdir/%name-javac
%{_jvmdir}/java %java_home %sdkbindir/javac
%{_jvmdir}/java-%{origin} %java_home %sdkbindir/javac
%{_jvmdir}/java-%{javaver} %java_home %sdkbindir/javac
EOF
%files
%_altdir/%name-java
%_altdir/%name-javac
%java_home
%changelog
…
Full changelog you can see here