ソースからビルド

関連パッケージ

#sh(bash){{

yum install readline-devel openssl-devel

}}

===========================================================================================
 Package                 Arch            Version                       Repository     Size
===========================================================================================
Installing:
 readline-devel          x86_64          6.0-4.el6                     base          134 k
 libyaml-devel           x86_64           0.1.3-4.el6_6            updates            85 k
Updating:
 libcurl-devel          x86_64          7.19.7-40.el6_6.4           updates          245 k
 openssl-devel          x86_64          1.0.1e-30.el6_6.5           updates          1.2 M
Installing for dependencies:
 ncurses-devel           x86_64          5.7-3.20090208.el6            base          642 k
 libyaml                 x86_64           0.1.3-4.el6_6            updates            52 k
Updating for dependencies:
 curl                   x86_64          7.19.7-40.el6_6.4           updates          194 k
 libcurl                x86_64          7.19.7-40.el6_6.4           updates          166 k
 openssl                x86_64          1.0.1e-30.el6_6.5           updates          1.5 M

本体

#sh(bash){{

_version_package="2.1.5"
_name_package="ruby"
_file_package="${_name_package}-${_version_package}"
_archive_package="${_file_package}.tar.gz"
_url_archive="http://cache.ruby-lang.org/pub/ruby/2.1/${_archive_package}"



_cwd=$(pwd); cd /usr/local/src

wget -O "${_archive_package}" "${_url_archive}" && tar zxf "${_archive_package}" && cd "${_file_package}"

./configure --prefix="/usr/local/${_file_package}" --disable-install-doc

make

make install



ln -s "/usr/local/${_file_package}" "/usr/local/${_name_package}"



cd "${_cwd}"

}}

必要に応じて、/usr/local/rubyにパスを通す

#sh(bash){{

export RUBY_HOME="/usr/local/ruby"
export PATH="${RUBY_HOME}/bin:${PATH}"

}}

URL

  1. Ruby:ダウンロード

メモ

#sh(bash){{

#!/bin/bash

_dir_tmp="$HOME/Downloads"
_dir_src="$HOME/local/src"
_dir_app="$HOME/local"

_url_openssl="https://www.openssl.org/source/openssl-1.0.2d.tar.gz"
_url_curl="http://curl.haxx.se/download/curl-7.43.0.tar.gz"
_url_readline="ftp://ftp.cwru.edu/pub/bash/readline-6.3.tar.gz"
_url_zlib="http://zlib.net/zlib-1.2.8.tar.gz"
_url_ruby="http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz"

_packages="openssl curl readline zlib ruby"



for _url in ${!_url_*}
do
_package="${_url##_url_}"

_def_archive="_archive_${_package}=\"\$(basename \${_url_${_package}} | cut -d '?' -f 1)\""

   eval "${_def_archive}"
   _def_dir="_dir_${_package}=\"\${_archive_${_package}%%.tar.gz}\""
   eval "${_def_dir}"

done

#for _archive in ${!_archive_*}

#do

# echo "${_archive} = ${!_archive}"

#done

#for _dir in ${!_dir_*}

#do

# echo "${_dir} = ${!_dir}"

#done

_cwd="$(pwd)"

cd "${_dir_tmp}"

_download() {

   if [ ! -e "${_archive}" ]
   then
       wget -O "${_archive}" "${_url}"
   fi
   if [ -d "${_dir_src}/${_dir}" -a -n "${_dir_src}" -a -n "${_dir}" ]
   then
       rm -rf "${_dir_src}/${_dir}"
   fi
   tar zxf "${_archive}"
   mv -f "${_dir}" "${_dir_src}/"

}

_build() {

   cd "${_dir_src}/${_dir}"
   if [ -f ./Configure ]
   then
       ./Configure --prefix="${_dir_app}/${_dir}" "${@}" linux-x86_64
   else
       ./configure --prefix="${_dir_app}/${_dir}" "${@}"
   fi

# make }

_install() {

   make test
   make install
   local _path="${_dir_app}/$(echo ${_dir} | cut -d '-' -f 1)"
   if [ ! -e "${_paht}" ]
   then
       ln -s "${_dir_app}/${_dir}" "${_path}"
   fi
   PKG_CONFIG_PATH="${_path}/lib/pkgconfig${PKG_CONFIG_PATH:+:}${PKG_CONFIG_PATH}"
   export PKG_CONFIG_PATH

}

_uninstall() {

   local _path="${_dir_app}/$(echo ${_dir} | cut -d '-' -f 1)"
   if [ -L $"{_path}" ]
   then
       rm -f "${_path}"
   fi
   if [ -d "${_dir_app}/${_dir}" -a -n "${_dir}" ]
   then
       rm -rf "${_dir_app}/${_dir}"
   fi

}

#--- ZLIB STATIC LIBRARY ---# _url="${_url_zlib}" _archive="${_archive_zlib}" _dir="${_dir_zlib}"

_cflags="${CFLAGS}" export CFLAGS="-fPIC" _uninstall _download && _build --static && _install CFLAGS="${_cflags}"

#--- ReadLine ---# _url="${_url_readline}" _archive="${_archive_readline}" _dir="${_dir_readline}"

#_uninstall

#_download && _build --enable-static --disable-shared && _install

#--- OPENSSL STATIC LIBRARY ---# _url="${_url_openssl}" _archive="${_archive_openssl}" _dir="${_dir_openssl}" _uninstall _download && _build no-shared no-dso zlib -I"${_dir_app}/zlib/include" -L"${_dir_app}/zlib/lib" -lz -fPIC && _install

#--- CURL ---# _url="${_url_curl}" _archive="${_archive_curl}" _dir="${_dir_curl}"

#_uninstall

#_download && \

#_build --enable-static --disable-shared --disable-manual \

# --with-ssl="${_dir_app}/openssl" --with-zlib="${_dir_app}/zlib" --enable-libcurl-option \

# --enable-http --enable-ftp --enable-file \

# --enable-ldap --enable-ldaps --enable-rtsp \

# --enable-proxy --enable-dict --enable-telnet \

# --enable-tftp --enable-pop3 --enable-imap \

# --enable-smb --enable-smtp --enable-gopher && \

#_install

#--- Ruby ---# _url="${_url_ruby}" _archive="${_archive_ruby}" _dir="${_dir_ruby}"

#export CFLAGS="-static -static-libgcc -I${_dir_app}/openssl/include -I${_dir_app}/curl/include -I${_dir_app}/zlib/include -I${_dir_app}/readline/include"

#export LDFLAGS="-L${_dir_app}/openssl/lib -L${_dir_app}/curl/lib -L${_dir_app}/zlib/lib -L${_dir_app}/readline/lib"

#export LIBS="-Wl -lcurl -lcrypto -lssl -lz"

#export LD_LIBRARY_PATH="${_dir_app}/openssl/lib:${_dir_app}/curl/lib:${_dir_app}/zlib/lib:${_dir_app}/readline/lib"

_cflags="${CFLAGS}" _ldflags="${LDFLAGS}" _libs="${LIBS}" export CFLAGS="-I${_dir_app}/openssl/include -I${_dir_app}/zlib/include" export LDFLAGS="-L${_dir_app}/openssl/lib -L${_dir_app}/zlib/lib" export LIBS="-lssl -lcrypto -lz"

#export CC=gcc _uninstall _download && \ _build --with-openssl=${_dir_app}/openssl --with-static-linked-ext --disable-X11 --disable-install-doc && \ _install CFLAGS="${_cflags}" LDFLAGS="${_ldflags}" LIBS="${_libs}"

cd "${_cwd}"

exit 0

}}


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-06-19 (月) 05:00:14