Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37896186
en ru br
ALT Linux repos
5.0: 0.3.3-alt16
4.1: 0.3.3-alt11
4.0: 0.3.3-alt9
3.0: 0.3.3-alt4

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

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin