%define dotests 1
# compiler defauft gcc
# To use xlc : --define 'gcc_compiler=0'

#With /bin/tar,we get checksum error. So these macros are included.
%global __gzip /opt/freeware/bin/gzip
%global __tar /opt/freeware/bin/tar

%{?gcc_compiler:%define gcc_compiler 0}
%{!?gcc_compiler:%define gcc_compiler 1}

%{!?optimize:%define optimize 2}

%define _libdir64 %{_libdir}64

%define rb_ver	4.0
%define rb_ver_with_micro     %{rb_ver}.6
# ruby script
%define rb_libdir                         %{_datadir}/ruby
# ruby modules
%define rb_archdir32                      %{_libdir}/ruby
%define rb_archdir64                      %{_libdir64}/ruby
# external files
%define rb_libsitedir                     %{_datadir}/ruby/site_ruby
%define rb_archsitedir32                  %{_libdir}/ruby/site_ruby/%{rb_ver}
%define rb_archsitedir64                  %{_libdir64}/ruby/site_ruby/%{rb_ver}
%define rb_libvendordir                   %{_datadir}/ruby/vendor_ruby
%define rb_archvendordir32                %{_libdir}/ruby/vendor_ruby/%{rb_ver}
%define rb_archvendordir64                %{_libdir64}/ruby/vendor_ruby/%{rb_ver}
# gems
%define rb_libgemsdir                     %{_datadir}/ruby/gems
%define rb_archgemsdir32                  %{_libdir}/ruby/gems/%{rb_ver}
%define rb_archgemsdir64                  %{_libdir64}/ruby/gems/%{rb_ver}

%define AIX_name                          powerpc-aix7.1.0.0

Name:		ruby
Version:  %{rb_ver_with_micro}
Release:	1
License:	Ruby
URL:		https://www.ruby-lang.org/
Prefix:		%{_prefix}

# Fix ruby_version abuse.
# https://bugs.ruby-lang.org/issues/11002
Patch0: %{name}-4.0.2-ruby_version.patch
# http://bugs.ruby-lang.org/issues/7807
Patch1: %{name}-2.6.3-Prevent-duplicated-paths-when-empty-version-string-i.patch
# Make mkmf verbose by default
Patch5: %{name}-3.3.5-mkmf-verbose.patch
# Prevent test cannot load strcpy.o on AIX 64bits
# Load : strcpy_64.o  (test/fiddle/helper.rb)
Patch20: %{name}-3.1.4-test_helper.patch
# skip test aix 64 bits : TestTime#test_a (test/ruby/test_time.rb)
# skip test : TestPTY#test_commandline  (test/test_pty.rb)
# skip test : TestPTY#ttest_argv (test/test_pty.rb)
Patch22: %{name}-2.6.3-skip_test_aix.patch
Patch23: %{name}-2.6.3-incorrect_words.patch
Patch24: %{name}-2.6.3-configure64.patch
Patch26: %{name}-3.3.5-configure_localtime.patch
Patch27: %{name}-3.1.4-bundler_cli.patch
Patch28: %{name}-3.1.4-include_order.patch

#In AIX, the following symbols are also exported in libruby.so. So, the check for any leaked global symbols (during gmake check) fails.
#Hence the test "yes-test-leaked-globals" fails.
#  _GLOBAL__FI_libruby_so,_GLOBAL__FD_libruby_so,_GLOBAL__AIXI_libruby_so,_GLOBAL__AIXD_libruby_so,signgam,tantab,zero,guesses,__itab,__tab
#This patch is to ignore these symbols.
Patch29: ruby-3.4.4-skip_symbols.patch
Patch30: ruby-4.0.2-runtime-definition-missing.patch

Source:	https://cache.ruby-lang.org/pub/ruby/%{rb_ver}/ruby-%{version}.tar.gz
Source1: %{name}-%{version}.run_one_by_one-test.ksh
Source2: libruby.stp
Source3:rubyconfig.h
Source4:libruby.so.3.3.7-aix32
Source5:libruby.so.3.3.7-aix64
Source6:libruby.so.3.4.4-aix32
Source7:libruby.so.3.4.4-aix64

Provides:	%{name}-libs

BuildRequires:	libffi-devel >= 3.4.4
BuildRequires:	zlib-devel >= 1.3.2
BuildRequires:	gmp-devel >= 6.3.0
BuildRequires:	gzip >= 1.14
BuildRequires:	tar >= 1.35

Requires:	libffi >= 3.4.4
Requires:	zlib >= 1.3.2
Requires:	gmp >= 6.3.0
%if %{toolchain} == "gcc"
Requires:	libgcc >= 10.3.0
%endif
Requires:	libyaml >= 0.2.5

Summary:	An interpreter of object-oriented scripting language
Group:		Development/Languages


%ifos aix7.1
%define buildhost powerpc-ibm-aix7.1.0.0
%endif

%description
Ruby is an interpreted scripting language for quick and easy object-oriented
programming.  It has many features to process text files and to do system
management tasks.  It is simple, straight-forward, and extensible.

%if %{gcc_compiler} == 1
This version has been compiled with GCC.
%else
This version has been compiled with XLC.
%endif



%package devel
Summary:    A Ruby development environment
Group:      Development/Languages
Requires:   %{name}%{?_isa} = %{version}-%{release}
# Requires:   rubypick
# Requires:   rubygems

%description devel
Header files and libraries for building an extension library for the
Ruby or an application embedding Ruby.


%prep
echo "dotests=%{dotests}"
echo "gcc_compiler=%{gcc_compiler}"
echo "optimize=%{optimize}"

%setup -q -n %{name}-%{version}

cp -p  ./test/ruby/test_time.rb ./test/ruby/test_time.rb.origine
cp -p ./test/test_pty.rb ./test/test_pty.rb.origine

%patch0 -p0
%patch1 -p1
%patch5 -p1
#%patch20 -p1
#%patch22 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1

cp configure configure.save
echo sed -e 's;-blibpath:${prefix}/lib;&64;' -e 's;blibpath:%1\\$-s:${prefix}/lib;&64;' -e ';-O3;-O%{optimize};' 
sed -e 's;-O3;-O%{optimize};'    <configure.save > configure

# Duplicate source for 32 & 64 bits
rm -rf   /tmp/%{name}-%{version}-32bit
cp -pr . /tmp/%{name}-%{version}-32bit
rm -fr *
mv       /tmp/%{name}-%{version}-32bit 32bit
cp -pr 32bit 64bit


cd 64bit
%patch24 -p0
cp configure configure.save2
sed -e 's;-blibpath:${prefix}/lib;&64;' -e 's;blibpath:%1\\$-s:${prefix}/lib;&64;' <configure.save2 > configure
cd ..


%build
# save script for debugging
cp $0 %{name}-%{version}_script_build.ksh
# Ruby options

export PATH=/opt/freeware/bin:/usr/bin:/etc:/usr/sbin:/usr/bin/X11:/sbin:.
export PKG_CONFIG_PATH=
export CPPFLAGS="-D_LINUX_SOURCE_COMPAT -DHAVE_RB_HASH_BULK_INSERT -DHAVE_RB_STR_TO_INTERNED_STR -DHAVE_RB_REG_ONIG_MATCH -DHAVE_RB_COMPLEX_REAL -DHAVE_RB_COMPLEX_IMAG"
export CONFIG_SHELL=/usr/bin/bash
export LDR_CNTRL=MAXDATA=0x80000000
export MAKE="gmake --trace -j16"
export GLOBAL_CC_OPTIONS="-O2"

#export CONFIG_SHELL=/opt/freeware/bin/bash
export AR="/usr/bin/ar -X32_64"
export NM="/usr/bin/nm -X32_64"


# Choose XLC or GCC
%if %{gcc_compiler} == 1
export CC__="%{__cc__}"
export CXX__="%{__cxx__}"
export FLAG32="-maix32 -D_LARGE_FILES -fPIC"
export FLAG64="-maix64 -fPIC"

echo "CC Version:"
$CC__ --version

%else

# XLC specific (do NOT compile yet...)
export CC__="/usr/vac/bin/xlc"

export CXX__="/usr/vacpp/bin/xlC"
export FLAG32="-q32"
export FLAG64="-q64"

echo "CC Version:"
$CC__ -qversion

%endif

export CC32=" ${CC__}  ${FLAG32}"
export CXX32="${CXX__} ${FLAG32}"
export CC64=" ${CC__}  ${FLAG64}"
export CXX64="${CXX__} ${FLAG64}"


# build on 64bit mode
cd 64bit
export OBJECT_MODE=64
export CC="${CC64}   $GLOBAL_CC_OPTIONS"
export CXX="${CXX64} $GLOBAL_CC_OPTIONS"
export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib"

#autoconf
./configure \
    --host=%{buildhost} --target=%{buildhost} --build=%{buildhost} \
    --prefix=%{_prefix} \
    --libdir=%{_libdir64} \
    --libexecdir=%{_libdir64} \
    --with-archlibdir='%{rb_archdir64}' \
    --with-ruby-version=minor \
    --with-rubylibprefix='%{rb_libdir}' \
    --with-rubylibdir='%{rb_libdir}' \
    --with-rubyarchprefix='%{rb_archdir64}' \
    --with-sitedir='%{rb_libsitedir}' \
    --with-sitearchdir='%{rb_archsitedir64}' \
    --with-vendordir='%{rb_libvendordir}' \
    --with-vendorarchdir='%{rb_archvendordir64}' \
    --with-rubyhdrdir='%{_includedir}' \
    --with-rubyarchhdrdir='%{_includedir}' \
    --with-sitehdrdir='%{_includedir}' \
    --with-sitearchhdrdir='%{_includedir}' \
    --with-vendorhdrdir='%{_includedir}' \
    --with-vendorarchhdrdir='%{_includedir}' \
    --disable-rpath \
    --enable-pthread \
    --enable-shared \
    --disable-static \
    --enable-multiarch 

# To have the right JIT compiler
/opt/freeware/bin/sed -i -e 's|^MJIT_CC.*$|MJIT_CC = /opt/freeware/bin/gcc|' Makefile

${MAKE}  %{?_smp_mflags} COPY="cp -p" Q=
if [ "%{dotests}" == 1 ]
then
    [ -L /opt/freeware/bin/ruby ] && rm /opt/freeware/bin/ruby
#    ln -s $RPM_BUILD_DIR/%{name}-%{version}/64bit/ruby /opt/freeware/bin/ruby
    export PATH=/home/buildusr/rpmbuild/BUILD/%{name}-%{version}/${OBJECT_MODE}bit:/opt/freeware/bin:/usr/bin:/etc:/usr/sbin:/usr/bin/X11:/sbin:.
    export LANG=en_US.utf-8
    ${MAKE} -k test     | tee traces_test.log     || true
fi

# build on 32bit mode
cd ../32bit
export OBJECT_MODE=32
export CC="${CC32}   $GLOBAL_CC_OPTIONS"
export CXX="${CXX32} $GLOBAL_CC_OPTIONS"

export LDFLAGS="-L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000"

#autoconf
./configure \
    --host=%{buildhost} --target=%{buildhost} --build=%{buildhost} \
    --prefix=%{_prefix} \
    --libdir=%{_libdir} \
    --libexecdir=%{_libdir} \
    --with-archlibdir='%{rb_archdir32}' \
    --with-ruby-version=minor \
    --with-rubylibprefix='%{rb_libdir}' \
    --with-rubylibdir='%{rb_libdir}' \
    --with-rubyarchprefix='%{rb_archdir32}' \
    --with-sitedir='%{rb_libsitedir}' \
    --with-sitearchdir='%{rb_archsitedir32}' \
    --with-vendordir='%{rb_libvendordir}' \
    --with-vendorarchdir='%{rb_archvendordir32}' \
    --with-rubyhdrdir='%{_includedir}' \
    --with-rubyarchhdrdir='%{_includedir}' \
    --with-sitehdrdir='%{_includedir}' \
    --with-sitearchhdrdir='%{_includedir}' \
    --with-vendorhdrdir='%{_includedir}' \
    --with-vendorarchhdrdir='%{_includedir}' \
    --disable-rpath \
    --enable-pthread \
    --enable-shared \
    --disable-static \
    --enable-multiarch 

# To have the right JIT compiler
/opt/freeware/bin/sed -i -e 's|^MJIT_CC.*$|MJIT_CC = /opt/freeware/bin/gcc|' Makefile

${MAKE} %{?_smp_mflags} COPY="cp -p" Q=


if [ "%{dotests}" == 1 ]
then
    [ -L /opt/freeware/bin/ruby ] && rm /opt/freeware/bin/ruby
#    ln -s $RPM_BUILD_DIR/%{name}-%{version}/32bit/ruby /opt/freeware/bin/ruby
    export PATH=/home/buildusr/rpmbuild/BUILD/%{name}-%{version}/${OBJECT_MODE}bit:/opt/freeware/bin:/usr/bin:/etc:/usr/sbin:/usr/bin/X11:/sbin:.
    export LANG=en_US.utf-8
    ${MAKE} -k test     | tee traces_test.log     || true
#    ${MAKE} -k test-all | tee traces_test-all.loc || true
fi



%install
# save script for debugging
ls -lrtd $0
cp $0 %{name}-%{version}_script_install.ksh

# Ruby options
export MINIRUBYOPT="-v "

export RBUILD=$PWD
export INSTALL=/opt/freeware/bin/install
export PATH=/home/buildusr/rpmbuild/BUILD/%{name}-%{version}/${OBJECT_MODE}bit:/opt/freeware/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:.
#LIBPATH is exported as "". If not, gcc command fails to load with the error as follows. It is trying to load libgcc from lib64 directory.
#Could not load module /opt/freeware/lib/libiconv.a(libiconv.so.2).
#Dependent module /opt/freeware/lib64/libgcc_s.a(shr.o) could not be loaded.
#The module has an invalid magic number.
export LIBPATH=
export AR="/usr/bin/ar -X32_64"
export NM="/usr/bin/nm -X32_64"
export RM="/usr/bin/rm -f"
export CONFIG_SHELL=/opt/freeware/bin/bash
export CONFIGURE_ENV_ARGS=/opt/freeware/bin/bash
export GLOBAL_CC_OPTIONS="-O2 -D_LARGE_FILES"
export MAKE="gmake --trace -j16"

echo "RPM_BUILD_ROOT = $RPM_BUILD_ROOT"
[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
# building in 32bit mode


# Choose XLC or GCC
%if %{gcc_compiler} == 1
export CC__="%{__cc__}"
export CXX__="%{__cxx__}"
export FLAG32="-maix32"
export FLAG64="-maix64"

echo "CC Version:"
$CC__ --version

%else

# XLC specific (do NOT compile yet...)
export CC__="/usr/vac/bin/xlc"

export CXX__="/usr/vacpp/bin/xlC"
export FLAG32="-q32"
export FLAG64="-q64"

echo "CC Version:"
$CC__ -qversion

%endif

export CC32=" ${CC__}  ${FLAG32}"
export CXX32="${CXX__} ${FLAG32}"
export CC64=" ${CC__}  ${FLAG64}"
export CXX64="${CXX__} ${FLAG64}"

mkdir -p $RPM_BUILD_ROOT/%{rb_libgemsdir}
mkdir -p $RPM_BUILD_ROOT/%{rb_archgemsdir32}
mkdir -p $RPM_BUILD_ROOT/%{rb_archgemsdir64}

cd 32bit

export OBJECT_MODE=32
export CC="${CC32}   $GLOBAL_CC_OPTIONS"
export CXX="${CXX32} $GLOBAL_CC_OPTIONS"

export LIBPATH=""
export LD_LIBRARY_PATH=%{_builddir}/%{name}-%{version}/32bit:/opt/freeware/lib:/usr/lib:/lib

${MAKE} DESTDIR=$RPM_BUILD_ROOT install prefix=$RPM_BUILD_ROOT%{prefix}

# move <files> (/opt/freeware/%{buildhost}/bin) to <files>_32
( cd $RPM_BUILD_ROOT/%{_prefix}/%{buildhost}/bin
  for fic in *; 
  do
      [ -f "$fic" ] || continue; 
      echo  $fic | grep -e _32 -e _64 && continue; 
      mv $fic $fic"_32"
      cd ../../bin 
      ln -sf ../%{buildhost}/bin/${fic}"_32" ${fic}"_32" 
  done
)

strip $RPM_BUILD_ROOT/opt/freeware/%{buildhost}/bin/%{name}_32

# move <files> (/opt/freeware/) bin to <files>_32
( cd $RPM_BUILD_ROOT/%{_prefix}
  for dir in bin
  do
      cd $dir
      for fic in *;
      do
	  [ -L "$fic" ] && continue;
	  [ -f "$fic" ] || continue;
	  echo  $fic | grep -e _32 -e _64 && continue;
	  mv $fic $fic"_32"
      done
      cd -
  done
)

# config.h is different on 32 and 64 bits
(
  cd $RPM_BUILD_ROOT/%{_includedir}
  mv ruby/config.h ruby/config-ppc32.h
)

# Installing in 64bit mode
cd '%{_builddir}'/%{name}-%{version}/64bit

export OBJECT_MODE=64
export CC="${CC64}   $GLOBAL_CC_OPTIONS"
export CXX="${CXX64} $GLOBAL_CC_OPTIONS"

export LD_LIBRARY_PATH="%{_builddir}/%{name}-%{version}/64bit:/opt/freeware/lib64:/usr/lib:/lib"
export LDFLAGS="-L/opt/freeware/lib64"

${MAKE} DESTDIR=$RPM_BUILD_ROOT install prefix=$RPM_BUILD_ROOT%{prefix}

# move <files> (/opt/freeware/%{buildhost}/bin) to <files>_64
( cd $RPM_BUILD_ROOT/%{_prefix}/%{buildhost}/bin
  for fic in *;
  do
      [ -f "$fic" ] || continue;
      echo  $fic | grep -e _32 -e _64 && continue;     
      mv $fic $fic"_64"
      cd ../../bin
      ln -sf ../%{buildhost}/bin/$fic"_64" ${fic}"_64" 
      ln -sf ../%{buildhost}/bin/$fic"_64" $fic
  done
)

strip $RPM_BUILD_ROOT/opt/freeware/%{buildhost}/bin/%{name}_64

# move <files> (/opt/freeware/) bin to <files>_64
( cd $RPM_BUILD_ROOT/%{_prefix}
  for dir in bin
  do
      cd $dir
      for fic in *;
      do
	  [ -L "$fic" ] && continue;
	  [ -f "$fic" ] || continue;
	  echo  $fic | grep -e _32 -e _64 && continue;
	  mv $fic $fic"_64"
	  ln -s $fic"_64" $fic
      done
      cd -
  done
)

# config.h is different on 32 and 64 bits
(
  cd $RPM_BUILD_ROOT/%{_includedir}
  mv ruby/config.h ruby/config-ppc64.h
)

# Copy config.h
(
    cd $RPM_BUILD_ROOT%{_includedir}/ruby
    cp %{SOURCE3} config.h
)

# Some libraries are saved in a bad path. Deplace them to the right.
(
  cd $RPM_BUILD_ROOT/%{_libdir}/%{AIX_name}
  for f in *; do [ -e ../"$f" ] || mv "$f" ../; done
  cd $RPM_BUILD_ROOT/%{_libdir64}/%{AIX_name}
  for f in *; do [ -e ../"$f" ] || mv "$f" ../; done
)

# add the 64-bit shared objects to the shared libraries containing already the
# 32-bit shared objects
# echo "ruby     .2.3.0 "  > input.lib.$$.tmp
#
# cat input.lib.$$.tmp | while read lib number pad;
# do
#     [ $number == "NULL" ] && { number=""; }
#
     # extract then add the 64-bit shared object to the shared library containing already the
     # 32-bit shared object
#     $AR -X64 -x  ${RPM_BUILD_ROOT}%{_libdir64}/lib"$lib".a
#     $AR -X64 -q  ${RPM_BUILD_ROOT}%{_libdir}/lib"$lib".a   lib"$lib".so"$number"
#     (
	# Make the 64bits version of lib"$lib".a as a symbolic link to the 32bits version
# 	$RM ${RPM_BUILD_ROOT}%{_libdir64}/lib"$lib".
# 	cd  ${RPM_BUILD_ROOT}%{_libdir64}
# 	ln -s ../lib/lib"$lib".a lib"$lib".a
#     )
# done
# rm -f input.lib.$$.tmp

/usr/bin/ar -X32 -q ${RPM_BUILD_ROOT}%{_libdir}/libruby.a ${RPM_BUILD_ROOT}%{_libdir}/libruby.so.%{rb_ver_with_micro}
/usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}/libruby.a ${RPM_BUILD_ROOT}%{_libdir64}/libruby.so.%{rb_ver_with_micro}
/usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir64}/libruby.a ${RPM_BUILD_ROOT}%{_libdir64}/libruby.so.%{rb_ver_with_micro}


#libruby 32bit
cp %{SOURCE4} libruby.so.3.3.7
/usr/bin/strip -X32 -e libruby.so.3.3.7
/usr/bin/ar -X32 -q ${RPM_BUILD_ROOT}%{_libdir}/libruby.a libruby.so.3.3.7
cp %{SOURCE6} libruby.so.3.4.4
/usr/bin/strip -X32 -e libruby.so.3.4.4
/usr/bin/ar -X32 -q ${RPM_BUILD_ROOT}%{_libdir}/libruby.a libruby.so.3.4.4

#libruby 64bit
cp %{SOURCE5} libruby.so.3.3.7
/usr/bin/strip -X64 -e libruby.so.3.3.7
/usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}/libruby.a libruby.so.3.3.7
/usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir64}/libruby.a libruby.so.3.3.7
cp %{SOURCE7} libruby.so.3.4.4
/usr/bin/strip -X64 -e libruby.so.3.4.4
/usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}/libruby.a libruby.so.3.4.4
/usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir64}/libruby.a libruby.so.3.4.4


(
 cd $RPM_BUILD_ROOT/%{_bindir}
 /opt/freeware/bin/sed -i 's|#!/opt/freeware/bin/ruby|#!/opt/freeware/bin/ruby_32|' *_32
)
#Replace /usr/local/bin/ruby with /opt/freeware/bin/ruby
(
 cd $RPM_BUILD_ROOT
 grep -rl "\/usr\/local\/bin\/ruby" . | xargs /opt/freeware/bin/sed -i "s|/usr/local/bin/ruby|/opt/freeware/bin/ruby|g"
)

# Install a tapset and fix up the path to the library.
mkdir -p %{buildroot}%{tapset_dir}
/opt/freeware/bin/sed -e "s|@LIBRARY_PATH@|%{tapset_libdir}/libruby.so.%{major_minor_version}|" \
  %{SOURCE2} > %{buildroot}%{tapset_dir}/libruby.so.%{major_minor_version}.stp
# Escape '*/' in comment.
/opt/freeware/bin/sed -i -r "s|( \*.*\*)\/(.*)|\1\\\/\2|" %{buildroot}%{tapset_dir}/libruby.so.%{major_minor_version}.stp

mkdir -p %{buildroot}%{_prefix}/share/man/man5
cp -p %{buildroot}%{_prefix}/share/ruby/%{rb_ver}/bundler/man/*.1 %{buildroot}%{_prefix}/share/man/man1
cp -p %{buildroot}%{_prefix}/share/ruby/%{rb_ver}/bundler/man/*.5 %{buildroot}%{_prefix}/share/man/man5


%files
%defattr(-, root, system)
%{_prefix}/bin/*
%{_prefix}/%{buildhost}/bin/*

%{_prefix}/lib/libruby*
%{_prefix}/lib/pkgconfig/%{name}-%{rb_ver}.pc

%{_prefix}/lib64/libruby*
%{_prefix}/lib64/pkgconfig/%{name}-%{rb_ver}.pc

%{_prefix}/share/ri


%doc %{_prefix}/share/man/man1/*.1
%doc 32bit/README.md 32bit/COPYING 32bit/LEGAL 32bit/README.EXT 32bit/NEWS.md

%dir %{rb_libdir}
%{rb_archdir32}
%{rb_archdir64}
%dir %{rb_libsitedir}
%dir %{rb_libvendordir}
%{rb_libgemsdir}
#%dir %{rb_archgemsdir32}
#%dir %{rb_archgemsdir64}
%{rb_libdir}/%{rb_ver}/*

%files devel
%defattr(-, root, system)
%doc 32bit/BSDL
%doc 32bit/COPYING
%lang(ja) %doc 32bit/COPYING.ja
%doc 32bit/GPL
%doc 32bit/LEGAL

# %{_rpmconfigdir}/macros.d/macros.ruby

%{_includedir}/*


%changelog
* Tue 11 Aug Lakshmi Surekha Kovvuri <Lakshmi.Kovvuri@ibm.com> - 4.0.6-1
- Update to latest version 4.0.6. 
 
* Wed 09 Jul Lakshmi Surekha Kovvuri <Lakshmi.Kovvuri@ibm.com> - 3.4.4-1
- Update to version 3.4.4 to fix CVE-2025-25186,CVE-2025-43857,CVE-2025-6442.

* Sat Feb 01 2025 Reshma V Kumar <reskumar@in.ibm.com> - 3.3.7-1 
- Update to version 3.3.7
- Build with openssl 3.0.15

* Mon Jan 06 2025 Reshma V Kumar <reskumar@in.ibm.com> - 3.3.6-1 
- Update to version 3.3.6 to fix CVE-2024-49761

* Wed Nov 20 2024 Reshma V Kumar <reskumar@in.ibm.com> - 3.3.5-1 
- Update to version 3.3.5 to fix CVE-2024-27282,CVE-2024-35176,CVE-2024-39908,CVE-2024-41946,CVE-2024-41123

* Mon Aug 21 2023 Ranjit Ranjan<ranjit.ranjan@ibm.com> - 3.1.4-1
- Update to 3.1.4.

* Mon May 22 2023 Ranjit Ranjan<ranjit.ranjan@ibm.com> - 2.7.8-1
- Update to 2.7.8.

* Thu Dec 09 2021 Reshma V Kumar <reskumar@in.ibm.com> - 2.7.5-1
- Update to 2.7.5

* Wed Sep 30 2020 Reshma V Kumar <reskumar@in.ibm.com> - 2.7.1-1
- Update to 2.7.1
- Stop shipping files in /usr directory

* Mon Jun 29 2020 Reshma V Kumar <reskumar@in.ibm.com> 2.6.3-2
- Rebuild to ship 32bit and 64bit config.h files

* Wed Oct 23 2019 Reshma V Kumar <reskumar@in.ibm.com> 2.6.3-1
- Update  to latest version

* Mon Sep 03 2018 Reshma V Kumar <reskumar@in.ibm.com> 2.5.1-1
- Update  to latest version

* Fri May 11 2018 Reshma V Kumar <reskumar@in.ibm.com> 2.4.4-1
- Update  to latest version to fix security vulnerability

* Fri Jun 30 2017 Reshma V Kumar <reskumar@in.ibm.com> 2.4.0-1
- Update  to latest version

* Tue Nov 29 2016 Jean Girardet <jean.girardet@atos.net> 2.3.1-5
- correct this erreur  echo "print 'toto'" | ruby  ==>   <internal:gem_prelude>:4:in require: cannot load such file -- rubygems.rb (LoadError)

* Thu Nov 14 2016 Jean Girardet <jean.girardet@atos.net> 2.3.1
- Add ruby-2.3.1.run_one_by_one-test.ksh test script for test failed

* Thu Sep 29 2016 Jean Girardet <jean.girardet@atos.net> 2.3.1-3
- Adaptation for 2.3.1 and add devel package

* Tue Mar 10 2016 Laurent GAY <laurent.gay@atos.net> 2.3.0-2
- Correction of GC randomize bug

* Wed Feb 10 2016 Laurent GAY <laurent.gay@atos.net> 2.3.0-1
- Adaptation for 2.3.0

* Tue Jan 07 2016 Tony Reix <tony.reix@bull.net> 2.3.0-1
- Update to version 2.3.0

* Tue Sep 17 2015 Tony Reix <tony.reix@bull.net> 2.2.3-1
- Update to version 2.2.3

* Wed Apr 23 2014 Gerard Visiedo <gerard.viseido@bull.net> 2.1.1-1
- Update to version 2.1.1

* Wed Jan 30 2013 by Bernard CAHEN <bernard.cahen@bull.net> 1.9.3-1
- Version for AIX 61

* Tue Aug 14 2007 by Christophe BELLE <christophe.belle@bull.net> 1.8.6-1
- Version for AIX 52S
