pkgsrc/lang/ruby24-base/Makefile

116 lines
4.3 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.7 2018/02/19 16:46:58 taca Exp $
Add ruby24-base (Ruby 2.4.1 core) to pkgsrc. Ruby 2.4.1 22 Mar 2017 Ruby 2.4.1 is the first TEENY version release of the stable 2.4 series. See commit logs for details: https://github.com/ruby/ruby/compare/v2_4_0...v2_4_1 Ruby 2.4.0 25 Dec 2016 o Introduce hash table improvement (by Vladimir Makarov) Improve the internal structure of hash table (st_table) by introducing open addressing and an inclusion order array. This improvement has been discussed with many people, especially with Yura Sokolov. o Binding#irb: Start a REPL session similar to binding.pry While you are debugging, you may often use p to see the value of variables. With pry you can use binding.pry in your application to launch a REPL and run any Ruby code. r56624 introduces binding.irb which behaves like that with irb. o Unify Fixnum and Bignum into Integer Though ISO/IEC 30170:2012 doesn¡Çt specify details of the Integer class, Ruby had two visible Integer classes: Fixnum and Bignum. Ruby 2.4 unifies them into Integer. All C extensions which touch the Fixnum or Bignum class need to be fixed. See also the ticket and akr¡Çs slides. o String supports Unicode case mappings String/Symbol#upcase/downcase/swapcase/capitalize(!) now handle Unicode case mappings instead of only ASCII case mappings. o Performance improvements Ruby 2.4 also contains the following performance improvements including language changes: * Array#max, Array#min [x, y].max and [x, y].min are optimized to not create a temporary array under certain conditions. * Regexp#match? Added Regexp#match?, which executes a regexp match without creating a back reference object and changing $~ to reduce object allocation. * Other performance improvements - speed up instance variable access o Debugging * Thread#report_on_exception and Thread.report_on_exception Ruby ignores exceptions in threads unless another thread explicitly joins them. With report_on_exception = true, you can notice if a thread has died due to an unhandled exception. Send us feedback what should be the default for report_on_exception and about report-on-GC, which shows a report when a thread is garbage collected without join. * Thread deadlock detection now shows threads with their backtrace and dependency Ruby has deadlock detection around waiting threads, but its report doesn¡Çt include enough information for debugging. Ruby 2.4¡Çs deadlock detection shows threads with their backtrace and dependent threads. o Other notable changes since 2.3 * Support OpenSSL 1.1.0 (drop support for 0.9.7 or prior) * ext/tk is now removed from stdlib Feature #8539 * XMLRPC is now removed from stdlib Feature #12160 See NEWS or commit logs for details.
2017-06-18 15:45:11 +02:00
DISTNAME= ${RUBY_DISTNAME}
PKGNAME= ${RUBY_PKGPREFIX}-base-${RUBY_VERSION}
PKGREVISION= 2
Add ruby24-base (Ruby 2.4.1 core) to pkgsrc. Ruby 2.4.1 22 Mar 2017 Ruby 2.4.1 is the first TEENY version release of the stable 2.4 series. See commit logs for details: https://github.com/ruby/ruby/compare/v2_4_0...v2_4_1 Ruby 2.4.0 25 Dec 2016 o Introduce hash table improvement (by Vladimir Makarov) Improve the internal structure of hash table (st_table) by introducing open addressing and an inclusion order array. This improvement has been discussed with many people, especially with Yura Sokolov. o Binding#irb: Start a REPL session similar to binding.pry While you are debugging, you may often use p to see the value of variables. With pry you can use binding.pry in your application to launch a REPL and run any Ruby code. r56624 introduces binding.irb which behaves like that with irb. o Unify Fixnum and Bignum into Integer Though ISO/IEC 30170:2012 doesn¡Çt specify details of the Integer class, Ruby had two visible Integer classes: Fixnum and Bignum. Ruby 2.4 unifies them into Integer. All C extensions which touch the Fixnum or Bignum class need to be fixed. See also the ticket and akr¡Çs slides. o String supports Unicode case mappings String/Symbol#upcase/downcase/swapcase/capitalize(!) now handle Unicode case mappings instead of only ASCII case mappings. o Performance improvements Ruby 2.4 also contains the following performance improvements including language changes: * Array#max, Array#min [x, y].max and [x, y].min are optimized to not create a temporary array under certain conditions. * Regexp#match? Added Regexp#match?, which executes a regexp match without creating a back reference object and changing $~ to reduce object allocation. * Other performance improvements - speed up instance variable access o Debugging * Thread#report_on_exception and Thread.report_on_exception Ruby ignores exceptions in threads unless another thread explicitly joins them. With report_on_exception = true, you can notice if a thread has died due to an unhandled exception. Send us feedback what should be the default for report_on_exception and about report-on-GC, which shows a report when a thread is garbage collected without join. * Thread deadlock detection now shows threads with their backtrace and dependency Ruby has deadlock detection around waiting threads, but its report doesn¡Çt include enough information for debugging. Ruby 2.4¡Çs deadlock detection shows threads with their backtrace and dependent threads. o Other notable changes since 2.3 * Support OpenSSL 1.1.0 (drop support for 0.9.7 or prior) * ext/tk is now removed from stdlib Feature #8539 * XMLRPC is now removed from stdlib Feature #12160 See NEWS or commit logs for details.
2017-06-18 15:45:11 +02:00
CATEGORIES= lang ruby
MASTER_SITES= ${MASTER_SITE_RUBY}
PATCH_SITES= https://bugs.ruby-lang.org/attachments/download/7028/
PATCHFILES= rubygems-276-for-ruby24.patch
PATCH_DIST_STRIP= -p0
Add ruby24-base (Ruby 2.4.1 core) to pkgsrc. Ruby 2.4.1 22 Mar 2017 Ruby 2.4.1 is the first TEENY version release of the stable 2.4 series. See commit logs for details: https://github.com/ruby/ruby/compare/v2_4_0...v2_4_1 Ruby 2.4.0 25 Dec 2016 o Introduce hash table improvement (by Vladimir Makarov) Improve the internal structure of hash table (st_table) by introducing open addressing and an inclusion order array. This improvement has been discussed with many people, especially with Yura Sokolov. o Binding#irb: Start a REPL session similar to binding.pry While you are debugging, you may often use p to see the value of variables. With pry you can use binding.pry in your application to launch a REPL and run any Ruby code. r56624 introduces binding.irb which behaves like that with irb. o Unify Fixnum and Bignum into Integer Though ISO/IEC 30170:2012 doesn¡Çt specify details of the Integer class, Ruby had two visible Integer classes: Fixnum and Bignum. Ruby 2.4 unifies them into Integer. All C extensions which touch the Fixnum or Bignum class need to be fixed. See also the ticket and akr¡Çs slides. o String supports Unicode case mappings String/Symbol#upcase/downcase/swapcase/capitalize(!) now handle Unicode case mappings instead of only ASCII case mappings. o Performance improvements Ruby 2.4 also contains the following performance improvements including language changes: * Array#max, Array#min [x, y].max and [x, y].min are optimized to not create a temporary array under certain conditions. * Regexp#match? Added Regexp#match?, which executes a regexp match without creating a back reference object and changing $~ to reduce object allocation. * Other performance improvements - speed up instance variable access o Debugging * Thread#report_on_exception and Thread.report_on_exception Ruby ignores exceptions in threads unless another thread explicitly joins them. With report_on_exception = true, you can notice if a thread has died due to an unhandled exception. Send us feedback what should be the default for report_on_exception and about report-on-GC, which shows a report when a thread is garbage collected without join. * Thread deadlock detection now shows threads with their backtrace and dependency Ruby has deadlock detection around waiting threads, but its report doesn¡Çt include enough information for debugging. Ruby 2.4¡Çs deadlock detection shows threads with their backtrace and dependent threads. o Other notable changes since 2.3 * Support OpenSSL 1.1.0 (drop support for 0.9.7 or prior) * ext/tk is now removed from stdlib Feature #8539 * XMLRPC is now removed from stdlib Feature #12160 See NEWS or commit logs for details.
2017-06-18 15:45:11 +02:00
MAINTAINER= taca@NetBSD.org
HOMEPAGE= ${RUBY_HOMEPAGE}
COMMENT= Ruby ${RUBY_VERSION} release minimum base package
RUBY_VERSIONS_ACCEPTED= 24
USE_LANGUAGES= c
Add ruby24-base (Ruby 2.4.1 core) to pkgsrc. Ruby 2.4.1 22 Mar 2017 Ruby 2.4.1 is the first TEENY version release of the stable 2.4 series. See commit logs for details: https://github.com/ruby/ruby/compare/v2_4_0...v2_4_1 Ruby 2.4.0 25 Dec 2016 o Introduce hash table improvement (by Vladimir Makarov) Improve the internal structure of hash table (st_table) by introducing open addressing and an inclusion order array. This improvement has been discussed with many people, especially with Yura Sokolov. o Binding#irb: Start a REPL session similar to binding.pry While you are debugging, you may often use p to see the value of variables. With pry you can use binding.pry in your application to launch a REPL and run any Ruby code. r56624 introduces binding.irb which behaves like that with irb. o Unify Fixnum and Bignum into Integer Though ISO/IEC 30170:2012 doesn¡Çt specify details of the Integer class, Ruby had two visible Integer classes: Fixnum and Bignum. Ruby 2.4 unifies them into Integer. All C extensions which touch the Fixnum or Bignum class need to be fixed. See also the ticket and akr¡Çs slides. o String supports Unicode case mappings String/Symbol#upcase/downcase/swapcase/capitalize(!) now handle Unicode case mappings instead of only ASCII case mappings. o Performance improvements Ruby 2.4 also contains the following performance improvements including language changes: * Array#max, Array#min [x, y].max and [x, y].min are optimized to not create a temporary array under certain conditions. * Regexp#match? Added Regexp#match?, which executes a regexp match without creating a back reference object and changing $~ to reduce object allocation. * Other performance improvements - speed up instance variable access o Debugging * Thread#report_on_exception and Thread.report_on_exception Ruby ignores exceptions in threads unless another thread explicitly joins them. With report_on_exception = true, you can notice if a thread has died due to an unhandled exception. Send us feedback what should be the default for report_on_exception and about report-on-GC, which shows a report when a thread is garbage collected without join. * Thread deadlock detection now shows threads with their backtrace and dependency Ruby has deadlock detection around waiting threads, but its report doesn¡Çt include enough information for debugging. Ruby 2.4¡Çs deadlock detection shows threads with their backtrace and dependent threads. o Other notable changes since 2.3 * Support OpenSSL 1.1.0 (drop support for 0.9.7 or prior) * ext/tk is now removed from stdlib Feature #8539 * XMLRPC is now removed from stdlib Feature #12160 See NEWS or commit logs for details.
2017-06-18 15:45:11 +02:00
USE_TOOLS+= pax yacc pkg-config
GNU_CONFIGURE= yes
TEST_TARGET= test
CONFIGURE_ARGS+= --enable-shared --enable-install-static-library
WRKSRC= ${RUBY_WRKSRC}
.include "options.mk"
.include "../../lang/ruby/platform.mk"
.if !empty(RUBY_SUFFIX)
CONFIGURE_ARGS+= --program-suffix=${RUBY_SUFFIX}
CONFIGURE_ARGS+= --with-soname=${RUBY_NAME}
CONFIGURE_ARGS+= --with-ruby-version=${RUBY_VER_DIR}
CONFIGURE_ARGS+= --with-ruby-pc="ruby-${RUBY_VERSION}.pc"
.endif
DOCS= BSDL COPYING COPYING.ja ChangeLog LEGAL NEWS README.EXT README.EXT.ja \
README.ja.md README.md doc/ChangeLog-1.8.0 doc/ChangeLog-1.9.3 \
doc/ChangeLog-2.0.0 doc/ChangeLog-2.1.0 doc/ChangeLog-2.2.0 \
doc/ChangeLog-2.3.0 doc/ChangeLog-2.4.0 doc/ChangeLog-YARV \
doc/NEWS-1.8.7 doc/NEWS-1.9.1 doc/NEWS-1.9.2 doc/NEWS-1.9.3 \
doc/NEWS-2.0.0 doc/NEWS-2.1.0 doc/NEWS-2.2.0 doc/NEWS-2.3.0 \
doc/contributing.rdoc doc/contributors.rdoc doc/dtrace_probes.rdoc \
doc/etc.rd.ja doc/forwardable.rd.ja doc/globals.rdoc \
doc/images/boottime-classes.png doc/irb/irb-tools.rd.ja \
doc/irb/irb.rd.ja doc/keywords.rdoc doc/maintainers.rdoc \
doc/marshal.rdoc doc/pty/README.expect.ja doc/pty/README.ja \
doc/regexp.rdoc doc/security.rdoc doc/shell.rd.ja \
doc/standard_library.rdoc doc/syntax/assignment.rdoc \
doc/syntax/calling_methods.rdoc doc/syntax/control_expressions.rdoc \
doc/syntax/exceptions.rdoc doc/syntax/literals.rdoc \
doc/syntax/methods.rdoc doc/syntax/miscellaneous.rdoc \
doc/syntax/modules_and_classes.rdoc doc/syntax/precedence.rdoc \
doc/syntax/refinements.rdoc doc/syntax.rdoc
EXT_DOCS= syslog/syslog.txt
BIGDECIMAL_EXAMPLES= linear.rb nlsolve.rb pi.rb
OPENSSL_EXAMPLES= c_rehash.rb cert2text.rb certstore.rb cipher.rb \
crlstore.rb echo_cli.rb echo_svr.rb gen_csr.rb \
smime_read.rb smime_write.rb wget.rb
REPLACE_RUBY= bin/erb bin/gem bin/irb bin/rake bin/rdoc bin/ri \
gems/rake-${RUBY_RAKE_VERSION}/exe/rake \
gems/net-telnet-${RUBY_NET_TELNET_VERSION}/bin/console \
gems/net-telnet-${RUBY_NET_TELNET_VERSION}/bin/setup
REPLACE_RUBY_DIRS= ext lib sample
INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 ${RUBY_DOC}/images \
${RUBY_DOC}/irb ${RUBY_DOC}/pty ${RUBY_DOC}/ripper \
${RUBY_DOC}/stringio ${RUBY_DOC}/syntax \
${RUBY_EG}/bigdecimal ${RUBY_EG}/pty
# ${RUBY_ARCHINC} ${RUBY_ARCHLIB}
EMPTY_DIRS= generator/template markup/simple_markup
pre-configure:
${RM} -f ${WRKSRC}/ext/gdbm/extconf.rb
${RM} -f ${WRKSRC}/ext/fiddle/extconf.rb
${RM} -f ${WRKSRC}/ext/readline/extconf.rb
${RM} -f ${WRKSRC}/ext/tk/extconf.rb
${RM} -f ${WRKSRC}/ext/tk/tkutil/extconf.rb
${TOUCH} ${WRKSRC}/prelude.c
pre-install:
cd ${WRKSRC}/lib; \
${FIND} . \( -name '*.orig' -o -name '*.orig_dist' \) \
-exec ${RM} -f {} \;
.for f in ${EMPTY_DIRS}
${RMDIR} ${WRKSRC}/lib/rdoc/${f} 2>/dev/null || ${TRUE}
.endfor
post-install:
.for f in ${DOCS}
${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${PREFIX}/${RUBY_DOC}/${f:C/^doc\///}
.endfor
.for f in ${EXT_DOCS}
${INSTALL_DATA} ${WRKSRC}/ext/${f} ${DESTDIR}${PREFIX}/${RUBY_DOC}
.endfor
cd ${WRKSRC}/ext/ripper; ${PAX} -rw README ${DESTDIR}${PREFIX}/${RUBY_DOC}/ripper
cd ${WRKSRC}/ext/stringio; ${PAX} -rw README.md ${DESTDIR}${PREFIX}/${RUBY_DOC}/stringio
cd ${WRKSRC}/sample; ${PAX} -rw . ${DESTDIR}${PREFIX}/${RUBY_EG}
.for f in ${BIGDECIMAL_EXAMPLES}
${INSTALL_DATA} ${RUBY_WRKSRC}/ext/bigdecimal/sample/${f} \
${DESTDIR}${PREFIX}/${RUBY_EG}/bigdecimal
.endfor
.for f in ${OPENSSL_EXAMPLES}
${INSTALL_DATA} ${RUBY_WRKSRC}/sample/openssl/${f} \
${DESTDIR}${PREFIX}/${RUBY_EG}/openssl
.endfor
${CHMOD} -R g-w ${DESTDIR}${PREFIX}/${GEM_HOME}/gems
${RUBY_GENERATE_PLIST}
.include "../../mk/bdb.buildlink3.mk"
.include "../../converters/libiconv/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../textproc/libyaml/buildlink3.mk"
.include "../../lang/ruby/Makefile.common"
.include "../../mk/bsd.pkg.mk"