Rails 4.2.z を Ruby 2.4.0-dev で動かそうとした場合に、Unified Integer の影響でいろいろと動かないわけだけど、最初に bundle install で native のエラーになる mysql への依存を切るコミットをバックポートして PR を送った。
mysql アダプタ自体を Ruby 2.4 の Unified Integer に対応することも考えたけれど、その他のメンテナンスまでを行うかと言われるとそんな気がしなかったのと、既に Rails 5 が依存を切っているので、その方針に乗っかった形になる。
ちなみに Rails 4.2.7.1 と ruby 2.4.0dev (2016-08-04 trunk 55812) の組み合わせで bundle install すると以下のようなエラーとなる。
Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/koic/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/mysql-2.9.1/ext/mysql_api /Users/koic/.rbenv/versions/2.4.0-dev/bin/ruby -r ./siteconf20160812-60286-1e62436.rb extconf.rb checking for mysql_ssl_set()... yes checking for rb_str_set_len()... yes checking for rb_thread_start_timer()... no checking for mysql.h... yes creating Makefile To see why this extension failed to compile, please check the mkmf.log which can be found here: /Users/koic/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-13/2.4.0-static/mysql-2.9.1/mkmf.log current directory: /Users/koic/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/mysql-2.9.1/ext/mysql_api make "DESTDIR=" clean current directory: /Users/koic/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/mysql-2.9.1/ext/mysql_api make "DESTDIR=" compiling mysql.c mysql.c:1320:74: error: use of undeclared identifier 'rb_cFixnum' else if (argv[i] == rb_cNumeric || argv[i] == rb_cInteger || argv[i] == rb_cFixnum) ^ 1 error generated. make: *** [mysql.o] Error 1 make failed, exit code 2 Gem files will remain installed in /Users/koic/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/gems/mysql-2.9.1 for inspection. Results logged to /Users/koic/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-13/2.4.0-static/mysql-2.9.1/gem_make.out