111 lines
3.7 KiB
Bash
111 lines
3.7 KiB
Bash
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
|
|
|
|
# Before building package need CD into directory with drive letter, like
|
|
# cd /c/build/mingw-w64-ruby
|
|
|
|
_realname=ruby
|
|
pkgbase=mingw-w64-${_realname}
|
|
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
|
|
pkgver=2.6.0
|
|
pkgrel=1
|
|
pkgdesc="An object-oriented language for quick and easy programming (mingw-w64)"
|
|
arch=('any')
|
|
url="https://www.ruby-lang.org/en"
|
|
license=("BSD, custom")
|
|
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
|
|
"${MINGW_PACKAGE_PREFIX}-doxygen"
|
|
"${MINGW_PACKAGE_PREFIX}-graphviz"
|
|
"${MINGW_PACKAGE_PREFIX}-pkg-config")
|
|
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
|
|
"${MINGW_PACKAGE_PREFIX}-gdbm"
|
|
"${MINGW_PACKAGE_PREFIX}-libyaml"
|
|
"${MINGW_PACKAGE_PREFIX}-libffi"
|
|
"${MINGW_PACKAGE_PREFIX}-ncurses"
|
|
"${MINGW_PACKAGE_PREFIX}-openssl"
|
|
"${MINGW_PACKAGE_PREFIX}-tk")
|
|
options=('staticlibs' 'strip')
|
|
source=("https://cache.ruby-lang.org/pub/ruby/${pkgver%.*}/${_realname}-${pkgver}.tar.bz2"
|
|
0001-mingw-w64-time-functions.patch
|
|
0003-fix-check-types.patch
|
|
0004-rbinstall-destdir.patch
|
|
0005-rbinstall-rake-bash.patch)
|
|
sha256sums=('c89ca663ad9a6238f4b1ec4d04c7dff630560c6e6eca6d30857c4d394f01a599'
|
|
'329994d3bf7e692e18c1faffbedfbd076e5d00257b2100387a773b59b81ccd4e'
|
|
'cbb083aece8e284fb1ae625e689f044a608aa9750bba9f7d399e895547eee39b'
|
|
'02382ec3b9e42d7dbb58edad3e41c361d98871711bb2f0320082c2acc6a82e2e'
|
|
'9fb5acb995255eedde0f0b0bf5cf2c02f00dc088d2538ff9ebb69627aafd1e42')
|
|
noextract=(${_realname}-${pkgver}.tar.bz2)
|
|
|
|
apply_patch_with_msg() {
|
|
for _patch in "$@"
|
|
do
|
|
msg2 "Applying $_patch"
|
|
patch -Nbp1 -i "${srcdir}/$_patch"
|
|
done
|
|
}
|
|
|
|
del_file_exists() {
|
|
for _fname in "$@"
|
|
do
|
|
if [ -f $_fname ]; then
|
|
rm -rf $_fname
|
|
fi
|
|
done
|
|
}
|
|
# =========================================== #
|
|
|
|
|
|
prepare() {
|
|
[[ -d ${srcdir}/${_realname}-${pkgver} ]] && rm -rf ${srcdir}/${_realname}-${pkgver}
|
|
tar -xjf ${srcdir}/${_realname}-${pkgver}.tar.bz2 -C ${srcdir} || true
|
|
|
|
cd ${srcdir}/${_realname}-${pkgver}
|
|
apply_patch_with_msg \
|
|
0001-mingw-w64-time-functions.patch \
|
|
0003-fix-check-types.patch \
|
|
0005-rbinstall-rake-bash.patch
|
|
# patch -p1 -i ${srcdir}/0004-rbinstall-destdir.patch
|
|
autoreconf -fi
|
|
}
|
|
|
|
build() {
|
|
|
|
local FFI_INC=$(pkg-config --cflags libffi)
|
|
CPPFLAGS+=" -DFD_SETSIZE=2048 ${FFI_INC} -I${MINGW_PREFIX}/include/ncurses"
|
|
CFLAGS+=" -I${MINGW_PREFIX}/include/ncurses ${FFI_INC}"
|
|
CXXFLAGS+=" -I${MINGW_PREFIX}/include/ncurses ${FFI_INC}"
|
|
|
|
[[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}"
|
|
mkdir -p "${srcdir}/build-${MINGW_CHOST}" && cd "${srcdir}/build-${MINGW_CHOST}"
|
|
../${_realname}-${pkgver}/configure \
|
|
--prefix=${MINGW_PREFIX} \
|
|
--build=${MINGW_CHOST} \
|
|
--host=${MINGW_CHOST} \
|
|
--target=${MINGW_CHOST}
|
|
make
|
|
}
|
|
|
|
check() {
|
|
cd "${srcdir}/build-${MINGW_CHOST}"
|
|
make test
|
|
}
|
|
|
|
package() {
|
|
cd "${srcdir}/build-${MINGW_CHOST}"
|
|
make DESTDIR="${pkgdir}" install-nodoc
|
|
for script in {erb,gem,irb,rdoc,ri}; do
|
|
install ${srcdir}/ruby-${pkgver}/bin/${script} \
|
|
${pkgdir}${MINGW_PREFIX}/bin/
|
|
done
|
|
local PREFIX_WIN
|
|
# fixup rake.bat so that it can be invoked from "cmd"
|
|
PREFIX_WIN=$(cygpath -wm ${pkgdir}${MINGW_PREFIX})
|
|
sed -e "s|\\\|/|g" -e "s|${MINGW_PREFIX}/bin/ruby.exe|ruby.exe|g" \
|
|
-e "s|${PREFIX_WIN}/bin/rake|rake|g" -i "${pkgdir}${MINGW_PREFIX}/bin/rake.bat"
|
|
|
|
install -D -m644 ${srcdir}/${_realname}-${pkgver}/COPYING \
|
|
"${pkgdir}${MINGW_PREFIX}/share/licenses/ruby/LICENSE"
|
|
install -D -m644 ${srcdir}/${_realname}-${pkgver}/BSDL \
|
|
"${pkgdir}${MINGW_PREFIX}/share/licenses/ruby/BSDL"
|
|
}
|