File jruby.spec of Package jruby
#
# spec file for "jruby-9_3_8_0"
#
# Copyright (c) 2017 kkaempf
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define java_version 11
%define srcname jruby
Name: jruby-9_3_8_0
Version: 9.3.8.0
Release: 1
License: Ruby
Summary: JRuby is a 100% Java implementation of the Ruby programming language
Url: https://github.com/jruby/jruby
Group: Development/Libraries/Java
Source0: https://github.com/%{srcname}/%{srcname}/archive/%{version}/%{srcname}-%{version}.tar.gz
Source1: %{srcname}-rpmlintrc
Patch1: 0001-please-autorequires.patch
%define jrubydir %{_datadir}/jruby
BuildRoot: %{_tmppath}/%{srcname}-%{version}-build
BuildRequires: ant
BuildRequires: fdupes
BuildRequires: java-devel = %{java_version}
BuildRequires: maven
BuildRequires: %{name}-kit = %{version}
BuildRequires: xz
Provides: jruby = %{version}
Provides: mvn(org.jruby:core) = %{version}
Provides: mvn(org.jruby:lib) = %{version}
Requires: java = %{java_version}
Requires: ca-certificates-mozilla
%description
JRuby is the effort to recreate the Ruby (http://www.ruby-lang.org) interpreter in Java
%prep
%setup -q -c -n src
cp -Rf %{_datadir}/tetra/kit ..
cd %{srcname}-%{version}
%patch -P1 -p1
%build
cd ..
export NO_BRP_CHECK_BYTECODE_VERSION=true
export PROJECT_PREFIX=`readlink -e .`
#export LANG=en_US.UTF-8
export LANG=en_US.ISO-8859-1
cd src/jruby-%{version}
mvn \
-Dmaven.repo.local=$PROJECT_PREFIX/kit/m2 \
--strict-checksums \
-o \
package
cd maven/jruby-complete
mvn \
-Dmaven.repo.local=$PROJECT_PREFIX/kit/m2 \
--strict-checksums \
-o \
package
%install
cd ..
export NO_BRP_CHECK_BYTECODE_VERSION=true
export PROJECT_PREFIX=`readlink -e .`
#export LANG=en_US.UTF-8
export LANG=en_US.ISO-8859-1
cd src/jruby-%{version}
mvn \
-Dmaven.repo.local=$PROJECT_PREFIX/kit/m2 \
--strict-checksums \
-o \
install
cd maven/jruby-complete
mvn \
-Dmaven.repo.local=$PROJECT_PREFIX/kit/m2 \
--strict-checksums \
-o \
install
#cd ../../maven/jruby-jars
#mvn \
# -Dmaven.repo.local=$PROJECT_PREFIX/kit/m2 \
# --settings $PROJECT_PREFIX/kit/m2/settings.xml \
# --strict-checksums \
# -o \
# install
cd ../..
# jruby
mkdir -p %{buildroot}%{jrubydir}/lib
install -m 644 VERSION %{buildroot}%{jrubydir}
# main .jar
install -m 644 lib/jruby.jar %{buildroot}%{jrubydir}/lib
# complete .jar
install -m 644 maven/jruby-complete/target/jruby-complete-%{version}.jar %{buildroot}%{jrubydir}/lib
# stdlib
install -m 644 lib/target/*.jar %{buildroot}%{jrubydir}/lib
# jruby/bin
mkdir -p %{buildroot}%{jrubydir}/bin
install -m 755 bin/* %{buildroot}%{jrubydir}/bin
rm -f %{buildroot}%{jrubydir}/bin/*.exe
rm -f %{buildroot}%{jrubydir}/bin/*.bat
rm -f %{buildroot}%{jrubydir}/bin/*.dll
rm -f %{buildroot}%{jrubydir}/bin/*.sh
# /usr/bin
mkdir -p %{buildroot}%{_bindir}
# should use update-alternatives instead
ln -s %{jrubydir}/bin/jruby.bash %{buildroot}%{_bindir}/jruby
ln -s %{jrubydir}/bin/rake %{buildroot}%{_bindir}/jrake
ln -s %{jrubydir}/bin/jgem %{buildroot}%{_bindir}/jgem
# jruby/ruby
rm -rf lib/ruby/truffle
cp -a lib %{buildroot}%{jrubydir}
# drop lib/target
rm -rf %{buildroot}%{jrubydir}/lib/target
# clean up ffi ..
rm -rf %{buildroot}%{jrubydir}/lib/ruby/stdlib/ffi/platform/*-*
cp -a lib/ruby/stdlib/ffi/platform/%{_arch}-linux %{buildroot}%{jrubydir}/lib/ruby/stdlib/ffi/platform
# .. and jni
rm -rf %{buildroot}%{jrubydir}/lib/jni
mkdir -p %{buildroot}%{_libdir}/jni
cp lib/jni/%{_arch}-Linux/* %{buildroot}%{_libdir}/jni
ln -s %{_libdir}/jni %{buildroot}%{jrubydir}/lib
find %{buildroot}%{jrubydir} -name .document | xargs rm -rf
%fdupes %{buildroot}%{jrubydir}
%files
%defattr(-,root,root)
%doc jruby-%{version}/BSDL
%doc jruby-%{version}/COPYING
%doc jruby-%{version}/LEGAL
%doc jruby-%{version}/LICENSE.RUBY
%doc jruby-%{version}/README.md
%{_bindir}/*
%dir %{jrubydir}
%{jrubydir}
%dir %{_libdir}/jni
%{_libdir}/jni
%changelog