From 15e4c79a51309c555d358f2f97b3cddd86f434b0 Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Fri, 9 Jun 2017 14:40:34 +0900 Subject: [PATCH 1/5] invoke make update-gems before make install with ruby-trunk --- bin/ruby-build | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/bin/ruby-build b/bin/ruby-build index a8438d5e0f..42c65fe4e5 100755 --- a/bin/ruby-build +++ b/bin/ruby-build @@ -566,8 +566,16 @@ build_package_standard() { $CONFIGURE_OPTS ${!PACKAGE_CONFIGURE_OPTS} "${!PACKAGE_CONFIGURE_OPTS_ARRAY}" || return 1 ) >&4 2>&1 + { "$MAKE" $MAKE_OPTS ${!PACKAGE_MAKE_OPTS} "${!PACKAGE_MAKE_OPTS_ARRAY}" - "$MAKE" install $MAKE_INSTALL_OPTS ${!PACKAGE_MAKE_INSTALL_OPTS} "${!PACKAGE_MAKE_INSTALL_OPTS_ARRAY}" + } >&4 2>&1 + + if [ "$package_name" == "ruby-trunk" ]; then + { "$MAKE" update-gems + } >&4 2>&1 + fi + + { "$MAKE" install $MAKE_INSTALL_OPTS ${!PACKAGE_MAKE_INSTALL_OPTS} "${!PACKAGE_MAKE_INSTALL_OPTS_ARRAY}" } >&4 2>&1 } From eb61f1d9383735575b54583d136def18a80b321c Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Mon, 12 Jun 2017 15:29:16 +0900 Subject: [PATCH 2/5] invoke extract-gems after update-gems --- bin/ruby-build | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/ruby-build b/bin/ruby-build index 42c65fe4e5..f6d8215996 100755 --- a/bin/ruby-build +++ b/bin/ruby-build @@ -572,6 +572,7 @@ build_package_standard() { if [ "$package_name" == "ruby-trunk" ]; then { "$MAKE" update-gems + "$MAKE" extract-gems } >&4 2>&1 fi From 4d0c3d57c87f0a8ba1aa44489888b4fe8debdd79 Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Mon, 12 Jun 2017 18:27:00 +0900 Subject: [PATCH 3/5] Separated standard function to standard_build and standard_install. * standard_build invoke configure and make. It not invoke `make install`. * standard_install invoke only `make install`. * Added backword compatibility function for above separation. * Added new function for bundled_gems support named standard_install_with_bundled_gems. --- bin/ruby-build | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/bin/ruby-build b/bin/ruby-build index f6d8215996..dd528f710e 100755 --- a/bin/ruby-build +++ b/bin/ruby-build @@ -531,7 +531,7 @@ build_package_warn_unsupported() { } >&3 } -build_package_standard() { +build_package_standard_build() { local package_name="$1" if [ "${MAKEOPTS+defined}" ]; then @@ -548,8 +548,6 @@ build_package_standard() { local PACKAGE_CONFIGURE_OPTS_ARRAY="${package_var_name}_CONFIGURE_OPTS_ARRAY[@]" local PACKAGE_MAKE_OPTS="${package_var_name}_MAKE_OPTS" local PACKAGE_MAKE_OPTS_ARRAY="${package_var_name}_MAKE_OPTS_ARRAY[@]" - local PACKAGE_MAKE_INSTALL_OPTS="${package_var_name}_MAKE_INSTALL_OPTS" - local PACKAGE_MAKE_INSTALL_OPTS_ARRAY="${package_var_name}_MAKE_INSTALL_OPTS_ARRAY[@]" local PACKAGE_CFLAGS="${package_var_name}_CFLAGS" if [ "$package_var_name" = "RUBY" ]; then @@ -566,20 +564,35 @@ build_package_standard() { $CONFIGURE_OPTS ${!PACKAGE_CONFIGURE_OPTS} "${!PACKAGE_CONFIGURE_OPTS_ARRAY}" || return 1 ) >&4 2>&1 - { "$MAKE" $MAKE_OPTS ${!PACKAGE_MAKE_OPTS} "${!PACKAGE_MAKE_OPTS_ARRAY}" } >&4 2>&1 +} - if [ "$package_name" == "ruby-trunk" ]; then - { "$MAKE" update-gems - "$MAKE" extract-gems - } >&4 2>&1 - fi +build_package_standard_install() { + local package_name="$1" + local package_var_name="$(capitalize "${package_name%%-*}")" + + local PACKAGE_MAKE_INSTALL_OPTS="${package_var_name}_MAKE_INSTALL_OPTS" + local PACKAGE_MAKE_INSTALL_OPTS_ARRAY="${package_var_name}_MAKE_INSTALL_OPTS_ARRAY[@]" { "$MAKE" install $MAKE_INSTALL_OPTS ${!PACKAGE_MAKE_INSTALL_OPTS} "${!PACKAGE_MAKE_INSTALL_OPTS_ARRAY}" } >&4 2>&1 } +build_package_standard_install_with_bundled_gems() { + { "$MAKE" update-gems + "$MAKE" extract-gems + } >&4 2>&1 + + build_package_standard_install +} + +# Backword Compatibility for standard function +build_package_standard() { + build_package_standard_build + build_package_standard_install +} + build_package_autoconf() { { autoconf } >&4 2>&1 From 6d94ce9f6f2e0314953caf049c4384c37c9aa339 Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Mon, 12 Jun 2017 18:38:14 +0900 Subject: [PATCH 4/5] To use standard_build and standard_install_with_bundled_gems for ruby versions that has bundled gems --- share/ruby-build/2.2.0-dev | 2 +- share/ruby-build/2.3.0-dev | 2 +- share/ruby-build/2.4.0-dev | 4 ++-- share/ruby-build/2.5.0-dev | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/share/ruby-build/2.2.0-dev b/share/ruby-build/2.2.0-dev index be5bc24aff..d215100c37 100644 --- a/share/ruby-build/2.2.0-dev +++ b/share/ruby-build/2.2.0-dev @@ -1,2 +1,2 @@ install_package "openssl-1.0.2l" "https://www.openssl.org/source/openssl-1.0.2l.tar.gz#ce07195b659e75f4e1db43552860070061f156a98bb37b672b101ba6e3ddf30c" mac_openssl --if has_broken_mac_openssl -install_git "ruby-2.2.0-dev" "https://github.com/ruby/ruby.git" "ruby_2_2" ldflags_dirs autoconf standard verify_openssl +install_git "ruby-2.2.0-dev" "https://github.com/ruby/ruby.git" "ruby_2_2" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl diff --git a/share/ruby-build/2.3.0-dev b/share/ruby-build/2.3.0-dev index 8594eb4c0f..dbf887a879 100644 --- a/share/ruby-build/2.3.0-dev +++ b/share/ruby-build/2.3.0-dev @@ -1,2 +1,2 @@ install_package "openssl-1.0.2l" "https://www.openssl.org/source/openssl-1.0.2l.tar.gz#ce07195b659e75f4e1db43552860070061f156a98bb37b672b101ba6e3ddf30c" mac_openssl --if has_broken_mac_openssl -install_git "ruby-2.3.0-dev" "https://github.com/ruby/ruby.git" "ruby_2_3" ldflags_dirs autoconf standard verify_openssl +install_git "ruby-2.3.0-dev" "https://github.com/ruby/ruby.git" "ruby_2_3" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl diff --git a/share/ruby-build/2.4.0-dev b/share/ruby-build/2.4.0-dev index 27abd4dc0f..5b85517f93 100644 --- a/share/ruby-build/2.4.0-dev +++ b/share/ruby-build/2.4.0-dev @@ -1,2 +1,2 @@ -install_package "openssl-1.1.0f" "https://www.openssl.org/source/openssl-1.1.0f.tar.gz#12f746f3f2493b2f39da7ecf63d7ee19c6ac9ec6a4fcd8c229da8a522cb12765" mac_openssl --if has_broken_mac_openssl -install_git "ruby-2.4.0-dev" "https://github.com/ruby/ruby.git" "ruby_2_4" ldflags_dirs autoconf standard verify_openssl +install_package "openssl-1.1.0f" "https://www.openssl.org/source/openssl-1.1.0f.tar.gz#12f746f3f2493b2f39da7ecf63d7ee19c6ac9ec6a4fcd8c229da8a522cb12765" mac_openssl --if has_broken_mac_openssl +install_git "ruby-2.4.0-dev" "https://github.com/ruby/ruby.git" "ruby_2_4" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl diff --git a/share/ruby-build/2.5.0-dev b/share/ruby-build/2.5.0-dev index 4d7811b6ce..3941fb2f7b 100644 --- a/share/ruby-build/2.5.0-dev +++ b/share/ruby-build/2.5.0-dev @@ -1,2 +1,2 @@ -install_package "openssl-1.1.0f" "https://www.openssl.org/source/openssl-1.1.0f.tar.gz#12f746f3f2493b2f39da7ecf63d7ee19c6ac9ec6a4fcd8c229da8a522cb12765" mac_openssl --if has_broken_mac_openssl -install_git "ruby-trunk" "https://github.com/ruby/ruby.git" "trunk" ldflags_dirs autoconf standard verify_openssl +install_package "openssl-1.1.0f" "https://www.openssl.org/source/openssl-1.1.0f.tar.gz#12f746f3f2493b2f39da7ecf63d7ee19c6ac9ec6a4fcd8c229da8a522cb12765" mac_openssl --if has_broken_mac_openssl +install_git "ruby-trunk" "https://github.com/ruby/ruby.git" "trunk" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl From 330e3fc96742daf4bd432ec2d5084b1b199a3349 Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Mon, 12 Jun 2017 21:39:26 +0900 Subject: [PATCH 5/5] Pass arguments for separated functions --- bin/ruby-build | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/ruby-build b/bin/ruby-build index dd528f710e..4d112f375d 100755 --- a/bin/ruby-build +++ b/bin/ruby-build @@ -584,13 +584,13 @@ build_package_standard_install_with_bundled_gems() { "$MAKE" extract-gems } >&4 2>&1 - build_package_standard_install + build_package_standard_install "$@" } # Backword Compatibility for standard function build_package_standard() { - build_package_standard_build - build_package_standard_install + build_package_standard_build "$@" + build_package_standard_install "$@" } build_package_autoconf() {