# -*- coding: ascii; tab-width: 4 -*- Info2: << Package: ruby27 # This is the final ruby27 release. Version: 2.7.8 Revision: 1 Type: ruby (2.7) Description: Interpreted, object-oriented language License: BSD Homepage: https://www.ruby-lang.org/ Maintainer: None # Dependencies. Depends: << %N-shlibs (= %v-%r), gdbm6-shlibs, gmp5-shlibs, libffi8-shlibs, libyaml-shlibs (>= 0.2.5-1), openssl110-shlibs (>= 1.1.1s-1), readline8-shlibs << BuildDepends: << bison, fink (>= 0.32), gdbm6, gmp5, libffi8, libyaml (>= 0.2.5-1), openssl110-dev (>= 1.1.1s-1), readline8 << # Unpack Phase. Source: https://cache.ruby-lang.org/pub/ruby/%type_raw[ruby]/ruby-%v.tar.xz Source-Checksum: SHA256(f22f662da504d49ce2080e446e4bea7008cee11d5ec4858fc69000d0e5b1d7fb) # Patch Phase. PatchFile: %n-tzdata.patch PatchFile-MD5: 43d63d69369d598a2b9654fad2ab18dc PatchScript: << %{default_script} # Don't propagate dependencies in pkgconfig file. #perl -pi -e 's/ ${LIBS}//' template/ruby.pc.in # Keep validator happy. perl -pi -e 's/-framework Foundation/-Wl,-framework,Foundation/' configure perl -pi -e 's/-framework Security/-Wl,-framework,Security/' configure # This test fails due to confusion over /tmp and /private/tmp. #rm test/rubygems/test_gem_ext_cmake_builder.rb #rm test/rubygems/test_gem.rb # This test doesn't work right in fink's build environment. perl -pi -e 's/ unless user//' test/ruby/test_file_exhaustive.rb # Home directory is an unexpected value during build-as-nobody. #perl -pi -e 's|= Dir.home|= "/var/empty"|' spec/ruby/core/file/expand_path_spec.rb # Testing sockets can be problematic. rm test/socket/test_socket.rb # Broken by build-as-nobody #rm test/ruby/test_dir.rb # This test fails intermittently. #rm test/webrick/test_httpserver.rb #rm test/net/http/test_https.rb # This test just hangs. #rm test/drb/test_drbssl.rb # Test fails trying to match 'ruby2.7' to 'ruby'. perl -pi -e 's/ruby_install_name/RUBY_BASE_NAME/' test/rubygems/test_gem_commands_environment_command.rb # No idea why these fail (even using some later patches upstream): #rm spec/ruby/library/socket/socket/getnameinfo_spec.rb spec/ruby/library/socket/socket/gethostbyaddr_spec.rb << # Compile Phase. ConfigureParams: << --program-suffix=%type_raw[ruby] \ --docdir='${datarootdir}/doc/${PACKAGE}%type_pkg[ruby]' \ --disable-install-capi \ --enable-shared \ --with-ruby-version=minor \ --build=%m-apple-darwin \ LIBS="-L%p/lib" \ ac_cv_path_mkdir=/bin/mkdir ac_cv_path_install=/usr/bin/install ac_cv_path_GREP=/usr/bin/grep << SetLDFLAGS: -Wl,-dead_strip_dylibs CompileScript: << ./configure %c LIBPATHENV=DYLD_LIBRARY_PATH EXTLDFLAGS="-Wl,-dead_strip_dylibs -L%p/lib" make << # Test Phase InfoTest: << TestScript: << #!/bin/sh -ev # Change install_name of lib during tests since DYLD_LIBRARY_PATH doesn't work on 10.11+. install_name_tool -change %p/lib/libruby.%type_raw[ruby].dylib %b/libruby.%type_raw[ruby].dylib ruby%type_raw[ruby] /usr/bin/find .ext/%m-darwin* -name *.bundle -exec install_name_tool -change %p/lib/libruby.%type_raw[ruby].dylib %b/libruby.%type_raw[ruby].dylib {} \; install_name_tool -id %b/libruby.%type_raw[ruby].dylib libruby.%type_raw[ruby].dylib export LANG=en_US.UTF-8 export PATH="%b:$PATH" make check || exit 2 # Put install_name back. install_name_tool -change %b/libruby.%type_raw[ruby].dylib %p/lib/libruby.%type_raw[ruby].dylib ruby%type_raw[ruby] /usr/bin/find .ext/%m-darwin* -name *.bundle -exec install_name_tool -change %b/libruby.%type_raw[ruby].dylib %p/lib/libruby.%type_raw[ruby].dylib {} \; install_name_tool -id %p/lib/libruby.%type_raw[ruby].dylib libruby.%type_raw[ruby].dylib << << # Install Phase. InstallScript: << make -j1 install DESTDIR=%d perl -pi -e 's| -lgmp||' %i/lib/ruby/%type_raw[ruby]/%m-darwin*/rbconfig.rb << DocFiles: BSDL COPYING COPYING.ja ChangeLog GPL LEGAL NEWS README* sample SplitOff2: << Package: %N-dev Description: Ruby %type_raw[ruby] dev files (mkmf.rb, *.h and *.dylib) BuildDependsOnly: True Depends: %N (= %v-%r) Files: << lib/ruby/%type_raw[ruby]/mkmf.rb lib/pkgconfig include << DocFiles: BSDL COPYING COPYING.ja ChangeLog GPL LEGAL NEWS README* << SplitOff3: << Package: ri%type_pkg[ruby] Description: Ruby %type_raw[ruby] documentation Depends: %N (= %v-%r) Files: << bin/ri%type_raw[ruby] share/ri/%type_raw[ruby] << DocFiles: BSDL COPYING COPYING.ja ChangeLog GPL LEGAL NEWS README* << SplitOff4: << Package: %N-shlibs Shlibs: %p/lib/libruby.%type_raw[ruby].dylib 2.7.0 %n (>= 2.7.7-1) Description: Ruby %type_raw[ruby] shared libraries Files: lib/libruby.%type_raw[ruby].dylib DocFiles: BSDL COPYING COPYING.ja ChangeLog GPL LEGAL NEWS README* << DescDetail: << - It has many features to process text files and to do system management tasks (as in Perl). - It is simple, straight-forward, extensible, and portable, and free. - It has simple syntax, partially inspired by Eiffel and Ada. - All data in Ruby is an object, not in the sense of Python or Perl, but in the sense of Smalltalk: no exceptions. << DescPackaging: << The Ruby tcltk extension is packaged separately and links against Fink's X11 version of tcltk. It could be replaced with a version linked against an Aqua tcltk if someone packaged it. Packages should depend on ruby27 to run scripts. The shared library does not provide many of the stdlib features, they are implemented in the bundled extensions. The extensions would link and probably run with Apple's libraries but since Fink has its own version of ncurses, readline, etc. it should always link with Fink's to get consistent results. Move mkmf script into -dev to make extension configuration error out instead of failing all tests. Not compatible with OpenSSL3 << DescPort: << Upstream patch from 2_7 branch for dealing with a change in the tzdata table. Fix Europe/Amsterdam https://github.com/ruby/spec/pull/939 << <<