From 863f03593f310411d09137d8250319b895783d1b Mon Sep 17 00:00:00 2001 From: Raed Rizqie Date: Wed, 30 Oct 2024 17:44:12 +0800 Subject: [PATCH 1/9] asciidoctor: rebuild for ruby --- mingw-w64-asciidoctor/PKGBUILD | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/mingw-w64-asciidoctor/PKGBUILD b/mingw-w64-asciidoctor/PKGBUILD index 7bf0c949a6788..05e97bccfdeb1 100644 --- a/mingw-w64-asciidoctor/PKGBUILD +++ b/mingw-w64-asciidoctor/PKGBUILD @@ -4,7 +4,7 @@ _realname=asciidoctor pkgbase="mingw-w64-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=2.0.23 -pkgrel=1 +pkgrel=2 pkgdesc="An implementation of AsciiDoc in Ruby (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -20,30 +20,29 @@ check() { local _gemdir="$(ruby -e 'puts Gem.default_dir')" _gemdir="$(cygpath -u ${_gemdir})" - ${MINGW_PREFIX}/bin/gem check --verbose \ - "${_realname}-${pkgver}.gem" + gem check --verbose "${_realname}-${pkgver}.gem" } package() { - local _gemdir="$(${MINGW_PREFIX}/bin/ruby -e 'puts Gem.default_dir')" + local _gemdir="$(ruby -e 'puts Gem.default_dir')" _gemdir="$(cygpath -u ${_gemdir})" - ${MINGW_PREFIX}/bin/gem install --ignore-dependencies --no-user-install --verbose \ + gem install --ignore-dependencies --no-user-install --verbose \ -i "${pkgdir}/${_gemdir}" -n "${pkgdir}${MINGW_PREFIX}/bin" \ "${_realname}-${pkgver}.gem" local _ruby_exe=$(cygpath -m ${MINGW_PREFIX}/bin/ruby.exe) - #for this conversion, we want the fully qualified ruby .exe path - #so that we can be sure that we are calling the correct one. + # For this conversion, we want the fully qualified ruby.exe path + # so that we can be sure that we are calling the correct one. sed -e "s|${_ruby_exe}|${MINGW_PREFIX}/bin/ruby|g" \ -i ${pkgdir}${MINGW_PREFIX}/bin/asciidoctor - #for Win32 .bat files, we want to drop the path references as the path - #refs are not needed since it's involved from the same dir. If we did - #need fully-qualified pathes, they would have to be fully-qualified and + # For Win32 .bat files, we want to drop the path references as the path + # refs are not needed since it's invoked from the same dir. If we did + # need fully-qualified paths, they would have to be fully-qualified and # in DOS format. - local _inst_dir=$(cygpath -m ${pkgdir}/${MINGW_PREFIX}/bin/) + local _inst_dir=$(cygpath -m ${pkgdir}${MINGW_PREFIX}/bin/) local _w_ruby_exe=$(cygpath -w ${MINGW_PREFIX}/bin/ruby.exe | sed 's/\\/\\\\/g') sed -e "s|${_w_ruby_exe}|ruby.exe|g" \ -e "s|${_inst_dir}||g" \ From 2a38404127becff3c29ab3a4f3201b3aa2ee6ef0 Mon Sep 17 00:00:00 2001 From: Raed Rizqie Date: Wed, 30 Oct 2024 17:50:13 +0800 Subject: [PATCH 2/9] ngraph-gtk: rebuild for ruby --- mingw-w64-ngraph-gtk/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-ngraph-gtk/PKGBUILD b/mingw-w64-ngraph-gtk/PKGBUILD index e2c620ec1b186..707ee375af17c 100644 --- a/mingw-w64-ngraph-gtk/PKGBUILD +++ b/mingw-w64-ngraph-gtk/PKGBUILD @@ -4,8 +4,8 @@ _realname=ngraph-gtk pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=6.09.09 -pkgrel=1 -pkgdesc="create scientific 2-dimensional graphs (mingw-w64)" +pkgrel=2 +pkgdesc="Create scientific 2-dimensional graphs (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') url="https://htrb.github.io/ngraph-gtk/" From 1dbd74df12809b305387d19691ddb3623959433f Mon Sep 17 00:00:00 2001 From: Raed Rizqie Date: Wed, 30 Oct 2024 17:57:53 +0800 Subject: [PATCH 3/9] ruby-dbus: update to 0.23.1 --- mingw-w64-ruby-dbus/PKGBUILD | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/mingw-w64-ruby-dbus/PKGBUILD b/mingw-w64-ruby-dbus/PKGBUILD index 38f965a10dab7..01cb188603a56 100644 --- a/mingw-w64-ruby-dbus/PKGBUILD +++ b/mingw-w64-ruby-dbus/PKGBUILD @@ -1,10 +1,9 @@ # Maintainer: Andrew Sun -_gemname=ruby-dbus -_realname=${_gemname} +_realname=ruby-dbus pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=0.17.0 +pkgver=0.23.1 pkgrel=1 pkgdesc="Ruby module for interaction with D-Bus (mingw-w64)" arch=('any') @@ -12,17 +11,19 @@ mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') url="https://github.com/mvidner/ruby-dbus" license=('spdx:LGPL-2.1-or-later') depends=("${MINGW_PACKAGE_PREFIX}-ruby") -source=(https://rubygems.org/downloads/${_gemname}-${pkgver}.gem) -noextract=(${_gemname}-${pkgver}.gem) -sha256sums=('7c5380a0797c6050160fd5940aba11741ac4d7050fd3ffd38be386a35643502e') +source=(https://rubygems.org/downloads/${_realname}-${pkgver}.gem) +noextract=(${_realname}-${pkgver}.gem) +sha256sums=('f582da0a66e7a907dade9473c152194197e322e50771275853ac87b868f1c941') package() { - local _gemdir="$(ruby -e'puts Gem.default_dir')" + local _gemdir="$(ruby -e 'puts Gem.default_dir')" _gemdir="$(cygpath -u ${_gemdir})" - ${MINGW_PREFIX}/bin/gem install --ignore-dependencies --no-user-install -N -i "${pkgdir}${_gemdir}" -n "${pkgdir}${MINGW_PREFIX}/bin" ${_gemname}-${pkgver}.gem + gem install --ignore-dependencies --no-user-install --verbose \ + -i "${pkgdir}/${_gemdir}" -n "${pkgdir}${MINGW_PREFIX}/bin" \ + "${_realname}-${pkgver}.gem" - rm "${pkgdir}${_gemdir}/cache/${_gemname}-${pkgver}.gem" + rm "${pkgdir}/${_gemdir}/cache/${_realname}-${pkgver}.gem" - install -D -m644 "${pkgdir}${_gemdir}/gems/${_gemname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING" + install -Dm644 "${pkgdir}/${_gemdir}/gems/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING" } From 0db52d3a5376c7dc4d78b4552cc3ee4974b30757 Mon Sep 17 00:00:00 2001 From: Raed Rizqie Date: Wed, 30 Oct 2024 18:02:08 +0800 Subject: [PATCH 4/9] ruby-rdiscount: update to 2.2.7.3 --- mingw-w64-ruby-rdiscount/PKGBUILD | 36 +++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/mingw-w64-ruby-rdiscount/PKGBUILD b/mingw-w64-ruby-rdiscount/PKGBUILD index ad035221ec54c..dfd0b69f40ef6 100644 --- a/mingw-w64-ruby-rdiscount/PKGBUILD +++ b/mingw-w64-ruby-rdiscount/PKGBUILD @@ -3,55 +3,55 @@ _realname=rdiscount pkgbase="mingw-w64-ruby-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-ruby-${_realname}" -pkgver=2.2.7.1 +pkgver=2.2.7.3 pkgrel=1 pkgdesc="Fast Implementation of Gruber's Markdown in C (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') -url='https://github.com/davidfstr/rdiscount' +url='http://dafoster.net/projects/rdiscount/' +msys2_repository_url='https://github.com/davidfstr/rdiscount' license=('spdx:MIT') depends=("${MINGW_PACKAGE_PREFIX}-ruby") makedepends=("${MINGW_PACKAGE_PREFIX}-cc") source=(https://rubygems.org/downloads/${_realname}-${pkgver}.gem) -noextract=(${_realname}-$pkgver.gem) -sha256sums=('51ab13ce8781c813c88a191eb7d5704ebde2a5d2417cf0e01fd46997748330a9') +noextract=(${_realname}-${pkgver}.gem) +sha256sums=('8a4844f930916fc7215dc369932626be85f2da13cdf48185b836055b63126113') check() { local _gemdir="$(ruby -e 'puts Gem.default_dir')" _gemdir="$(cygpath -u ${_gemdir})" - ${MINGW_PREFIX}/bin/gem check --verbose \ - "${_realname}-${pkgver}.gem" + gem check --verbose "${_realname}-${pkgver}.gem" } package() { - local _gemdir="$(${MINGW_PREFIX}/bin/ruby -e 'puts Gem.default_dir')" + local _gemdir="$(ruby -e 'puts Gem.default_dir')" _gemdir="$(cygpath -u ${_gemdir})" - ${MINGW_PREFIX}/bin/gem install --ignore-dependencies --no-user-install --verbose \ - -i "${pkgdir}${_gemdir}" -n "${pkgdir}${MINGW_PREFIX}/bin" \ + gem install --ignore-dependencies --no-user-install --verbose \ + -i "${pkgdir}/${_gemdir}" -n "${pkgdir}${MINGW_PREFIX}/bin" \ "${_realname}-${pkgver}.gem" local _ruby_exe=$(cygpath -m ${MINGW_PREFIX}/bin/ruby.exe) - #for this conversion, we want the fully qualified ruby .exe path - #so that we can be sure that we are calling the correct one. + # For this conversion, we want the fully qualified ruby.exe path + # so that we can be sure that we are calling the correct one. sed -e "s|${_ruby_exe}|${MINGW_PREFIX}/bin/ruby|g" \ -i ${pkgdir}${MINGW_PREFIX}/bin/rdiscount - #for Win32 .bat files, we want to drop the path references as the path - #refs are not needed since it's involved from the same dir. If we did - #need fully-qualified pathes, they would have to be fully-qualified and + # For Win32 .bat files, we want to drop the path references as the path + # refs are not needed since it's invoked from the same dir. If we did + # need fully-qualified paths, they would have to be fully-qualified and # in DOS format. - local _inst_dir=$(cygpath -m ${pkgdir}/${MINGW_PREFIX}/bin/) + local _inst_dir=$(cygpath -m ${pkgdir}${MINGW_PREFIX}/bin/) local _w_ruby_exe=$(cygpath -w ${MINGW_PREFIX}/bin/ruby.exe | sed 's/\\/\\\\/g') sed -e "s|${_w_ruby_exe}|ruby.exe|g" \ -e "s|${_inst_dir}||g" \ -i ${pkgdir}${MINGW_PREFIX}/bin/rdiscount.bat - install -Dm644 "${pkgdir}${_gemdir}/gems/${_realname}-${pkgver}/man/rdiscount.1" \ + install -Dm644 "${pkgdir}/${_gemdir}/gems/${_realname}-${pkgver}/man/rdiscount.1" \ "${pkgdir}${MINGW_PREFIX}/share/man/man1/rdiscount.1" - rm "${pkgdir}${_gemdir}/cache/${_realname}-${pkgver}.gem" - rm -rf "${pkgdir}${_gemdir}/gems/${_realname}-${pkgver}/man" + rm "${pkgdir}/${_gemdir}/cache/${_realname}-${pkgver}.gem" + rm -rf "${pkgdir}/${_gemdir}/gems/${_realname}-${pkgver}/man" } From 658b96b657714d5377299b13fef39404f94d1086 Mon Sep 17 00:00:00 2001 From: Raed Rizqie Date: Wed, 30 Oct 2024 18:55:10 +0800 Subject: [PATCH 5/9] ruby-mustache: rebuild for ruby --- mingw-w64-ruby-mustache/PKGBUILD | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/mingw-w64-ruby-mustache/PKGBUILD b/mingw-w64-ruby-mustache/PKGBUILD index a12c92bb15f9a..8cdcdcb618984 100644 --- a/mingw-w64-ruby-mustache/PKGBUILD +++ b/mingw-w64-ruby-mustache/PKGBUILD @@ -4,43 +4,43 @@ _realname=mustache pkgbase="mingw-w64-ruby-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-ruby-${_realname}" pkgver=1.1.1 -pkgrel=4 -pkgdesc="Mustache is a framework-agnostic way to render logic-free views. (mingw-w64)" +pkgrel=5 +pkgdesc="A framework-agnostic way to render logic-free views (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') -url='https://github.com/mustache/mustache' +url='https://mustache.github.io/' +msys2_repository_url='https://github.com/mustache/mustache' license=('spdx:MIT') depends=("${MINGW_PACKAGE_PREFIX}-ruby") source=(https://rubygems.org/downloads/${_realname}-${pkgver}.gem) -noextract=(${_realname}-$pkgver.gem) +noextract=(${_realname}-${pkgver}.gem) sha256sums=('90891fdd50b53919ca334c8c1031eada1215e78d226d5795e523d6123a2717d0') check() { local _gemdir="$(ruby -e 'puts Gem.default_dir')" _gemdir="$(cygpath -u ${_gemdir})" - ${MINGW_PREFIX}/bin/gem check --verbose \ - "${_realname}-${pkgver}.gem" + gem check --verbose "${_realname}-${pkgver}.gem" } package() { local _gemdir="$(${MINGW_PREFIX}/bin/ruby -e 'puts Gem.default_dir')" _gemdir="$(cygpath -u ${_gemdir})" - ${MINGW_PREFIX}/bin/gem install --ignore-dependencies --no-user-install --verbose \ + gem install --ignore-dependencies --no-user-install --verbose \ -i "${pkgdir}/${_gemdir}" -n "${pkgdir}${MINGW_PREFIX}/bin" \ "${_realname}-${pkgver}.gem" local _ruby_exe=$(cygpath -m ${MINGW_PREFIX}/bin/ruby.exe) - #for this conversion, we want the fully qualified ruby .exe path - #so that we can be sure that we are calling the correct one. + # For this conversion, we want the fully qualified ruby.exe path + # so that we can be sure that we are calling the correct one. sed -e "s|${_ruby_exe}|${MINGW_PREFIX}/bin/ruby|g" \ -i ${pkgdir}${MINGW_PREFIX}/bin/mustache - #for Win32 .bat files, we want to drop the path references as the path - #refs are not needed since it's involved from the same dir. If we did - #need fully-qualified pathes, they would have to be fully-qualified and + # For Win32 .bat files, we want to drop the path references as the path + # refs are not needed since it's invoked from the same dir. If we did + # need fully-qualified paths, they would have to be fully-qualified and # in DOS format. local _inst_dir=$(cygpath -m ${pkgdir}/${MINGW_PREFIX}/bin/) local _w_ruby_exe=$(cygpath -w ${MINGW_PREFIX}/bin/ruby.exe | sed 's/\\/\\\\/g') From 0874b8f67a98d6951d315484a7096007c6efcc37 Mon Sep 17 00:00:00 2001 From: Raed Rizqie Date: Wed, 30 Oct 2024 19:22:21 +0800 Subject: [PATCH 6/9] ruby-native-package-installer: update to 1.1.9 --- .../PKGBUILD | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/mingw-w64-ruby-native-package-installer/PKGBUILD b/mingw-w64-ruby-native-package-installer/PKGBUILD index 8d7920afeeb63..f88ff7b439b7f 100644 --- a/mingw-w64-ruby-native-package-installer/PKGBUILD +++ b/mingw-w64-ruby-native-package-installer/PKGBUILD @@ -1,26 +1,27 @@ # Maintainer: Andrew Sun -_gemname=native-package-installer -_realname=ruby-${_gemname} -pkgbase=mingw-w64-${_realname} -pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=1.1.5 +_realname=native-package-installer +pkgbase=mingw-w64-ruby-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-ruby-${_realname}") +pkgver=1.1.9 pkgrel=1 -pkgdesc="native-package-installer helps to install native packages on gem install (mingw-w64)" +pkgdesc="A helper to install native packages on gem install (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') url="https://github.com/ruby-gnome2/native-package-installer" license=('spdx:LGPL-3.0-or-later') depends=("${MINGW_PACKAGE_PREFIX}-ruby") -source=("https://rubygems.org/downloads/${_gemname}-${pkgver}.gem") -noextract=("${_gemname}-${pkgver}.gem") -sha256sums=('516ebbacd7382b7e424da96eda6666d60dfad4dd407245a6ad5c1ad94e803ae4') +source=("https://rubygems.org/downloads/${_realname}-${pkgver}.gem") +noextract=("${_realname}-${pkgver}.gem") +sha256sums=('fbb41b6b22750791a4304f0a0aeea3dd837668892117f49c4caf2e8e0f4e792f') package() { - local _gemdir="$(ruby -e'puts Gem.default_dir')" + local _gemdir="$(ruby -e 'puts Gem.default_dir')" _gemdir="$(cygpath -u ${_gemdir})" - ${MINGW_PREFIX}/bin/gem install --ignore-dependencies --no-user-install -i "${pkgdir}${_gemdir}" -n "${pkgdir}${MINGW_PREFIX}/bin" ${_gemname}-${pkgver}.gem + gem install --ignore-dependencies --no-user-install --verbose \ + -i "${pkgdir}/${_gemdir}" -n "${pkgdir}${MINGW_PREFIX}/bin" \ + "${_realname}-${pkgver}.gem" - rm "${pkgdir}${_gemdir}/cache/${_gemname}-${pkgver}.gem" + rm "${pkgdir}/${_gemdir}/cache/${_realname}-${pkgver}.gem" } From ac5175d2c28f0b70506a7e3b3c09637658450fad Mon Sep 17 00:00:00 2001 From: Raed Rizqie Date: Wed, 30 Oct 2024 23:04:50 +0800 Subject: [PATCH 7/9] ruby-pkg-config: update to 1.5.7 --- mingw-w64-ruby-pkg-config/PKGBUILD | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/mingw-w64-ruby-pkg-config/PKGBUILD b/mingw-w64-ruby-pkg-config/PKGBUILD index ce47b3eac651a..580094a6a8e1f 100644 --- a/mingw-w64-ruby-pkg-config/PKGBUILD +++ b/mingw-w64-ruby-pkg-config/PKGBUILD @@ -1,10 +1,9 @@ # Maintainer: Andrew Sun -_gemname=pkg-config -_realname=ruby-${_gemname} -pkgbase=mingw-w64-${_realname} -pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=1.4.9 +_realname=pkg-config +pkgbase=mingw-w64-ruby-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-ruby-${_realname}") +pkgver=1.5.7 pkgrel=1 pkgdesc="Implementation of pkg-config in ruby (mingw-w64)" arch=('any') @@ -12,18 +11,17 @@ mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') url="https://github.com/ruby-gnome2/pkg-config" license=('spdx:LGPL-2.1-or-later') depends=("${MINGW_PACKAGE_PREFIX}-ruby") -provides=("${MINGW_PACKAGE_PREFIX}-ruby-pkgconfig") -replaces=("${MINGW_PACKAGE_PREFIX}-ruby-pkgconfig") -conflicts=("${MINGW_PACKAGE_PREFIX}-ruby-pkgconfig") -source=("https://rubygems.org/downloads/${_gemname}-${pkgver}.gem") -noextract=("${_gemname}-${pkgver}.gem") -sha256sums=('14968c3fec94a66f53a273b74478ed6372f2cf9a08bc081ba7642878ebac3b6d') +source=(https://rubygems.org/downloads/${_realname}-${pkgver}.gem) +noextract=(${_realname}-${pkgver}.gem) +sha256sums=('713671c6af034325dc7e7c12026b02570fbb1358d9f3a023d3a001ce0159b1c7') package() { local _gemdir="$(ruby -e 'puts Gem.default_dir')" _gemdir="$(cygpath -u ${_gemdir})" - ${MINGW_PREFIX}/bin/gem install --ignore-dependencies --no-user-install -i "${pkgdir}${_gemdir}" -n "${pkgdir}${MINGW_PREFIX}/bin" ${_gemname}-${pkgver}.gem + gem install --ignore-dependencies --no-user-install --verbose \ + -i "${pkgdir}/${_gemdir}" -n "${pkgdir}${MINGW_PREFIX}/bin" \ + "${_realname}-${pkgver}.gem" - rm "${pkgdir}${_gemdir}/cache/${_gemname}-${pkgver}.gem" + rm "${pkgdir}/${_gemdir}/cache/${_realname}-${pkgver}.gem" } From 6d7543a7a9dedc40d29b42db5330fcbb9671cb36 Mon Sep 17 00:00:00 2001 From: Raed Rizqie Date: Tue, 5 Nov 2024 23:56:45 +0800 Subject: [PATCH 8/9] ruby-rake-compiler: update to 1.2.8 --- .../PKGBUILD | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) rename {mingw-w64-rake-compiler => mingw-w64-ruby-rake-compiler}/PKGBUILD (73%) diff --git a/mingw-w64-rake-compiler/PKGBUILD b/mingw-w64-ruby-rake-compiler/PKGBUILD similarity index 73% rename from mingw-w64-rake-compiler/PKGBUILD rename to mingw-w64-ruby-rake-compiler/PKGBUILD index 1b639928aae11..64c5ff2365da3 100644 --- a/mingw-w64-rake-compiler/PKGBUILD +++ b/mingw-w64-ruby-rake-compiler/PKGBUILD @@ -3,8 +3,8 @@ _realname=rake-compiler pkgbase="mingw-w64-ruby-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-ruby-${_realname}" -pkgver=1.1.1 -pkgrel=2 +pkgver=1.2.8 +pkgrel=1 pkgdesc="Rake-based Ruby Extension (C, Java) task generator (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') @@ -13,34 +13,33 @@ license=('spdx:MIT') depends=("${MINGW_PACKAGE_PREFIX}-ruby") source=(https://rubygems.org/downloads/${_realname}-${pkgver}.gem) noextract=(${_realname}-$pkgver.gem) -sha256sums=('ee6e2f06ac0ca045f80d41eb596c8f33f25415973294952351a66509027f5d87') +sha256sums=('f314105ecb3d23d4287014d30c189cab9da14150de0201e48b99c25a04749176') check() { local _gemdir="$(ruby -e 'puts Gem.default_dir')" _gemdir="$(cygpath -u ${_gemdir})" - ${MINGW_PREFIX}/bin/gem check --verbose \ - "${_realname}-${pkgver}.gem" + gem check --verbose "${_realname}-${pkgver}.gem" } package() { local _gemdir="$(${MINGW_PREFIX}/bin/ruby -e 'puts Gem.default_dir')" _gemdir="$(cygpath -u ${_gemdir})" - ${MINGW_PREFIX}/bin/gem install --ignore-dependencies --no-user-install --verbose \ + gem install --ignore-dependencies --no-user-install --verbose \ -i "${pkgdir}/${_gemdir}" -n "${pkgdir}${MINGW_PREFIX}/bin" \ "${_realname}-${pkgver}.gem" local _ruby_exe=$(cygpath -m ${MINGW_PREFIX}/bin/ruby.exe) - #for this conversion, we want the fully qualified ruby .exe path - #so that we can be sure that we are calling the correct one. + # For this conversion, we want the fully qualified ruby.exe path + # so that we can be sure that we are calling the correct one. sed -e "s|${_ruby_exe}|${MINGW_PREFIX}/bin/ruby|g" \ -i ${pkgdir}${MINGW_PREFIX}/bin/${_realname} - #for Win32 .bat files, we want to drop the path references as the path - #refs are not needed since it's involved from the same dir. If we did - #need fully-qualified pathes, they would have to be fully-qualified and + # For Win32 .bat files, we want to drop the path references as the path + # refs are not needed since it's invoked from the same dir. If we did + # need fully-qualified paths, they would have to be fully-qualified and # in DOS format. local _inst_dir=$(cygpath -m ${pkgdir}/${MINGW_PREFIX}/bin/) local _w_ruby_exe=$(cygpath -w ${MINGW_PREFIX}/bin/ruby.exe | sed 's/\\/\\\\/g') From 84abecc3b5a0ac8fc6b1966d3b838d75757d61e9 Mon Sep 17 00:00:00 2001 From: Raed Rizqie Date: Sat, 26 Oct 2024 18:05:44 +0800 Subject: [PATCH 9/9] ruby: update to 3.3.6 - update ruby to latest version - remove all patches that were already included in this version - rebuild all externally packaged gems --- mingw-w64-ruby/0007-nm-use-full-options.patch | 11 - mingw-w64-ruby/0008-ucrt-32-win11-insns.patch | 2 +- mingw-w64-ruby/0009-windows-arm64.patch | 29 -- mingw-w64-ruby/0010-configure-fixes.patch | 28 ++ ...fe5200cbc837837708b0845844f36b55d005.patch | 113 -------- ...fca366d9f5b49836e42acdb19f3ff0c8173c.patch | 60 ---- mingw-w64-ruby/PKGBUILD | 268 ++++++++---------- 7 files changed, 142 insertions(+), 369 deletions(-) delete mode 100644 mingw-w64-ruby/0007-nm-use-full-options.patch delete mode 100644 mingw-w64-ruby/0009-windows-arm64.patch create mode 100644 mingw-w64-ruby/0010-configure-fixes.patch delete mode 100644 mingw-w64-ruby/2e25fe5200cbc837837708b0845844f36b55d005.patch delete mode 100644 mingw-w64-ruby/81a1fca366d9f5b49836e42acdb19f3ff0c8173c.patch diff --git a/mingw-w64-ruby/0007-nm-use-full-options.patch b/mingw-w64-ruby/0007-nm-use-full-options.patch deleted file mode 100644 index d9f2dec79b092..0000000000000 --- a/mingw-w64-ruby/0007-nm-use-full-options.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ruby-3.0.2/win32/mkexports.rb.orig 2021-08-01 21:20:51.869421200 -0700 -+++ ruby-3.0.2/win32/mkexports.rb 2021-08-01 21:21:05.619185400 -0700 -@@ -153,7 +153,7 @@ - end - - def each_line(objs, &block) -- IO.foreach("|#{self.class.nm} --extern --defined #{objs.join(' ')}", &block) -+ IO.foreach("|#{self.class.nm} --extern-only --defined-only #{objs.join(' ')}", &block) - end - - def each_export(objs) diff --git a/mingw-w64-ruby/0008-ucrt-32-win11-insns.patch b/mingw-w64-ruby/0008-ucrt-32-win11-insns.patch index 0140c663ebf2e..3a36faeace48f 100644 --- a/mingw-w64-ruby/0008-ucrt-32-win11-insns.patch +++ b/mingw-w64-ruby/0008-ucrt-32-win11-insns.patch @@ -1,6 +1,6 @@ --- a/win32/win32.c +++ b/win32/win32.c -@@ -2596,15 +2596,21 @@ +@@ -2699,15 +2699,21 @@ # else /* x86 */ /* pop ebp */ # define FUNCTION_BEFORE_RET_MARK "\x5d" diff --git a/mingw-w64-ruby/0009-windows-arm64.patch b/mingw-w64-ruby/0009-windows-arm64.patch deleted file mode 100644 index 1b0dbf5a880af..0000000000000 --- a/mingw-w64-ruby/0009-windows-arm64.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/configure.ac 2022-09-17 20:44:42.375546800 +0200 -+++ b/configure.ac 2022-09-17 20:49:48.224691700 +0200 -@@ -2541,6 +2541,9 @@ - [*86-mingw*], [ - coroutine_type=win32 - ], -+ [aarch64-mingw*], [ -+ coroutine_type=arm64 -+ ], - [arm*-linux*], [ - coroutine_type=arm32 - ], ---- a/vm_dump.c 2022-04-12 13:11:15.000000000 +0200 -+++ b/vm_dump.c 2022-09-17 20:52:16.559409600 +0200 -@@ -701,6 +701,14 @@ - frame.AddrFrame.Offset = context.Rbp; - frame.AddrStack.Mode = AddrModeFlat; - frame.AddrStack.Offset = context.Rsp; -+#elif defined(__aarch64__) -+ mac = IMAGE_FILE_MACHINE_ARM64; -+ frame.AddrPC.Mode = AddrModeFlat; -+ frame.AddrPC.Offset = context.Pc; -+ frame.AddrFrame.Mode = AddrModeFlat; -+ frame.AddrFrame.Offset = context.Fp; -+ frame.AddrStack.Mode = AddrModeFlat; -+ frame.AddrStack.Offset = context.Sp; - #else /* i386 */ - mac = IMAGE_FILE_MACHINE_I386; - frame.AddrPC.Mode = AddrModeFlat; diff --git a/mingw-w64-ruby/0010-configure-fixes.patch b/mingw-w64-ruby/0010-configure-fixes.patch new file mode 100644 index 0000000000000..68518549488da --- /dev/null +++ b/mingw-w64-ruby/0010-configure-fixes.patch @@ -0,0 +1,28 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -1361,7 +1361,7 @@ + AC_CHECK_HEADERS(sys/event.h) + AC_CHECK_HEADERS(stdatomic.h) + +-AS_CASE("$target_cpu", [x64|x86_64|i[3-6]86*], [ ++AS_CASE("$target_cpu", [x64|x86_64|[i[3-6]86*]], [ + AC_CHECK_HEADERS(x86intrin.h) + ]) + RUBY_UNIVERSAL_CHECK_HEADER([x86_64, i386], x86intrin.h) +@@ -3499,7 +3499,7 @@ + ], + [mingw*], [ + RUBY_SO_NAME="${rb_cv_msvcrt}"'-$(RUBY_BASE_NAME)$(MAJOR)$(MINOR)0' +- AS_IF([test x"${target_cpu}" != xi386], [ ++ AS_IF([test x"${target_cpu}" != xi386 || test x"${rb_cv_msvcrt}" != xmsvcrt], [ + RUBY_SO_NAME="${target_cpu}-${RUBY_SO_NAME}" + ]) + ], +@@ -4070,6 +4070,7 @@ + [mingw*], [ + AS_IF([test x"$enable_shared" = xyes], [ + LIBRUBY_SO='$(RUBY_SO_NAME)'.dll ++ LIBRUBY_SONAME='' + LIBRUBY_DLDFLAGS="${LIBRUBY_DLDFLAGS}"' $(RUBYDEF)' + ]) + EXPORT_PREFIX=' ' diff --git a/mingw-w64-ruby/2e25fe5200cbc837837708b0845844f36b55d005.patch b/mingw-w64-ruby/2e25fe5200cbc837837708b0845844f36b55d005.patch deleted file mode 100644 index ddddab2ecadb5..0000000000000 --- a/mingw-w64-ruby/2e25fe5200cbc837837708b0845844f36b55d005.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 2e25fe5200cbc837837708b0845844f36b55d005 Mon Sep 17 00:00:00 2001 -From: Pierrick Bouvier -Date: Tue, 21 Nov 2023 15:35:49 +0400 -Subject: [PATCH] [win32] pioinfo detection for windows-arm64 - -This fixes "unexpected ucrtbase.dll" for native windows-arm64 ruby -binary. It does not solve issue with x64 version emulated on this -platform. - -Value of pioinfo pointer can be found in ucrtbase.dll at latest adrp/add -sequence before return of _isatty function. This works for both release -and debug ucrt. - -Due to the nature of aarch64 ISA (vs x86 or x64), it's needed to -disassemble instructions to retrieve offset value, which is a bit more -complicated than matching specific string patterns. - -Details about adrp/add usage can be found in this blog post: -https://devblogs.microsoft.com/oldnewthing/20220809-00/?p=106955 -For instruction decoding, the Arm documentation was used as a reference. ---- - win32/win32.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 67 insertions(+), 2 deletions(-) - -diff --git a/win32/win32.c b/win32/win32.c -index 80fb30de43b09..c51d53595fc70 100644 ---- a/win32/win32.c -+++ b/win32/win32.c -@@ -2615,9 +2615,73 @@ set_pioinfo_extra(void) - * * https://bugs.ruby-lang.org/issues/18605 - */ - char *p = (char*)get_proc_address(UCRTBASE, "_isatty", NULL); -- char *pend = p; - /* _osfile(fh) & FDEV */ - -+#ifdef _M_ARM64 -+#define IS_INSN(pc, name) ((*(pc) & name##_mask) == name##_id) -+ const int max_num_inst = 500; -+ uint32_t *start = (uint32_t*)p; -+ uint32_t *end_limit = (start + max_num_inst); -+ uint32_t *pc = start; -+ -+ if (!p) { -+ fprintf(stderr, "_isatty proc not found in " UCRTBASE "\n"); -+ _exit(1); -+ } -+ -+ /* end of function */ -+ const uint32_t ret_id = 0xd65f0000; -+ const uint32_t ret_mask = 0xfffffc1f; -+ for(; pc < end_limit; pc++) { -+ if (IS_INSN(pc, ret)) { -+ break; -+ } -+ } -+ if (pc == end_limit) { -+ fprintf(stderr, "end of _isatty not found in " UCRTBASE "\n"); -+ _exit(1); -+ } -+ -+ /* pioinfo instruction mark */ -+ const uint32_t adrp_id = 0x90000000; -+ const uint32_t adrp_mask = 0x9f000000; -+ const uint32_t add_id = 0x11000000; -+ const uint32_t add_mask = 0x3fc00000; -+ for(; pc > start; pc--) { -+ if (IS_INSN(pc, adrp) && IS_INSN(pc + 1, add)) { -+ break; -+ } -+ } -+ if(pc == start) { -+ fprintf(stderr, "pioinfo mark not found in " UCRTBASE "\n"); -+ _exit(1); -+ } -+ -+ /* We now point to instructions that load address of __pioinfo: -+ * adrp x8, 0x1801d8000 -+ * add x8, x8, #0xdb0 -+ * https://devblogs.microsoft.com/oldnewthing/20220809-00/?p=106955 -+ * The last adrp/add sequence before ret is what we are looking for. -+ */ -+ const uint32_t adrp_insn = *pc; -+ const uint32_t adrp_immhi = (adrp_insn & 0x00ffffe0) >> 5; -+ const uint32_t adrp_immlo = (adrp_insn & 0x60000000) >> (5 + 19 + 5); -+ /* imm = immhi:immlo:Zeros(12), 64 */ -+ const uint64_t adrp_imm = ((adrp_immhi << 2) | adrp_immlo) << 12; -+ /* base = PC64<63:12>:Zeros(12) */ -+ const uint64_t adrp_base = (uint64_t)pc & 0xfffffffffffff000; -+ -+ const uint32_t add_insn = *(pc + 1); -+ const uint32_t add_sh = (add_insn & 0x400000) >> (12 + 5 + 5); -+ /* case sh of -+ when '0' imm = ZeroExtend(imm12, datasize); -+ when '1' imm = ZeroExtend(imm12:Zeros(12), datasize); */ -+ const uint64_t add_imm = ((add_insn & 0x3ffc00) >> (5 + 5)) << (add_sh ? 12 : 0); -+ -+ __pioinfo = (ioinfo**)(adrp_base + adrp_imm + add_imm); -+#else /* _M_ARM64 */ -+ char *pend = p; -+ - # ifdef _WIN64 - int32_t rel; - char *rip; -@@ -2667,7 +2731,8 @@ set_pioinfo_extra(void) - #else - __pioinfo = *(ioinfo***)(p); - #endif --#endif -+#endif /* _M_ARM64 */ -+#endif /* RUBY_MSVCRT_VERSION */ - int fd; - - fd = _open("NUL", O_RDONLY); diff --git a/mingw-w64-ruby/81a1fca366d9f5b49836e42acdb19f3ff0c8173c.patch b/mingw-w64-ruby/81a1fca366d9f5b49836e42acdb19f3ff0c8173c.patch deleted file mode 100644 index 8be6669552d2a..0000000000000 --- a/mingw-w64-ruby/81a1fca366d9f5b49836e42acdb19f3ff0c8173c.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 81a1fca366d9f5b49836e42acdb19f3ff0c8173c Mon Sep 17 00:00:00 2001 -From: Pierrick Bouvier -Date: Tue, 21 Nov 2023 16:13:21 +0400 -Subject: [PATCH] [win32] detect llvm-windres (used for windows-arm64) - -When adding preprocessor option for llvm-windres (using clang as -parameter), it fails. Thus, do not add this. - -It's needed to be able to compile windows-arm64 version, because MSYS2 -toolchain is LLVM based (instead of GCC/binutils). ---- - configure.ac | 4 ++++ - cygwin/GNUmakefile.in | 11 ++++++++--- - 2 files changed, 12 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 805cbaae18ee2..588fdec3827a6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -512,6 +512,9 @@ AS_CASE(["$target_os"], - ], - [hiuxmpp*], [AC_DEFINE(__HIUX_MPP__)]) # by TOYODA Eizi - -+USE_LLVM_WINDRES=no -+windres_version=`windres --version | grep LLVM` -+test -z "$windres_version" || USE_LLVM_WINDRES=yes - - AC_PROG_LN_S - AC_PROG_MAKE_SET -@@ -4245,6 +4248,7 @@ AC_SUBST(MINIOBJS) - AC_SUBST(THREAD_MODEL) - AC_SUBST(COROUTINE_TYPE, ${coroutine_type}) - AC_SUBST(PLATFORM_DIR) -+AC_SUBST(USE_LLVM_WINDRES) - - firstmf=`echo $FIRSTMAKEFILE | sed 's/:.*//'` - firsttmpl=`echo $FIRSTMAKEFILE | sed 's/.*://'` -diff --git a/cygwin/GNUmakefile.in b/cygwin/GNUmakefile.in -index 09298590304b5..192a8cc7112b3 100644 ---- a/cygwin/GNUmakefile.in -+++ b/cygwin/GNUmakefile.in -@@ -3,9 +3,14 @@ gnumake = yes - include Makefile - - ENABLE_SHARED=@ENABLE_SHARED@ - DLLWRAP = @DLLWRAP@ --target=@target_os@ --driver-name="$(CC)" --windres-cpp := $(CPP) -xc --windres-cpp := --preprocessor=$(firstword $(windres-cpp)) \ -- $(addprefix --preprocessor-arg=,$(wordlist 2,$(words $(windres-cpp)),$(windres-cpp))) -+ifeq (@USE_LLVM_WINDRES@,yes) # USE_LLVM_WINDRES -+ # llvm-windres fails when preprocessor options are added -+ windres-cpp := -+else -+ windres-cpp := $(CPP) -xc -+ windres-cpp := --preprocessor=$(firstword $(windres-cpp)) \ -+ $(addprefix --preprocessor-arg=,$(wordlist 2,$(words $(windres-cpp)),$(windres-cpp))) -+endif - WINDRES = @WINDRES@ $(windres-cpp) -DRC_INVOKED - STRIP = @STRIP@ - diff --git a/mingw-w64-ruby/PKGBUILD b/mingw-w64-ruby/PKGBUILD index 714f063b1b753..37bc36649c490 100644 --- a/mingw-w64-ruby/PKGBUILD +++ b/mingw-w64-ruby/PKGBUILD @@ -1,15 +1,12 @@ # Maintainer: Alexey Pavlov -# Before building package need CD into directory with drive letter, like -# cd /c/build/mingw-w64-ruby - # be sure to run the updpkgprovs and rebuild. This is to get the propper version # of the ruby gems that were bundled. _realname=ruby pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=3.1.5 +pkgver=3.3.6 pkgrel=1 pkgdesc="An object-oriented language for quick and easy programming (mingw-w64)" arch=('any') @@ -19,124 +16,119 @@ msys2_references=( "cpe: cpe:/a:ruby-lang:ruby" "cpe: cpe:/a:yukihiro_matsumoto:ruby" ) -license=("BSD, custom") +msys2_repository_url='https://github.com/ruby/ruby' +msys2_documentation_url='https://docs.ruby-lang.org/en/master/index.html' +license=('spdx:Ruby AND BSD-2-Clause') makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools" - "${MINGW_PACKAGE_PREFIX}-doxygen" - "${MINGW_PACKAGE_PREFIX}-graphviz") -depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" - "${MINGW_PACKAGE_PREFIX}-gdbm" - "${MINGW_PACKAGE_PREFIX}-libyaml" + "${MINGW_PACKAGE_PREFIX}-pkgconf") +depends=("${MINGW_PACKAGE_PREFIX}-gdbm" + "${MINGW_PACKAGE_PREFIX}-gmp" "${MINGW_PACKAGE_PREFIX}-libffi" - "${MINGW_PACKAGE_PREFIX}-pdcurses" + "${MINGW_PACKAGE_PREFIX}-libyaml" "${MINGW_PACKAGE_PREFIX}-openssl" - "${MINGW_PACKAGE_PREFIX}-gmp" - "${MINGW_PACKAGE_PREFIX}-tk") + "${MINGW_PACKAGE_PREFIX}-readline" + "${MINGW_PACKAGE_PREFIX}-tk" + "${MINGW_PACKAGE_PREFIX}-zlib") source=("https://cache.ruby-lang.org/pub/ruby/${pkgver%.*}/${_realname}-${pkgver}.tar.gz" 0003-fix-check-types.patch - 0007-nm-use-full-options.patch 0008-ucrt-32-win11-insns.patch - 0009-windows-arm64.patch - 81a1fca366d9f5b49836e42acdb19f3ff0c8173c.patch - 2e25fe5200cbc837837708b0845844f36b55d005.patch) + 0010-configure-fixes.patch) ## Populated by the updpkgprovs script provides=( - "${MINGW_PACKAGE_PREFIX}-ruby-debug=1.6.3" + "${MINGW_PACKAGE_PREFIX}-ruby-debug=1.9.2" "${MINGW_PACKAGE_PREFIX}-ruby-matrix=0.4.2" - "${MINGW_PACKAGE_PREFIX}-ruby-minitest=5.15.0" - "${MINGW_PACKAGE_PREFIX}-ruby-net-ftp=0.1.4" - "${MINGW_PACKAGE_PREFIX}-ruby-net-imap=0.2.4" - "${MINGW_PACKAGE_PREFIX}-ruby-net-pop=0.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-net-smtp=0.3.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-power_assert=2.0.1" + "${MINGW_PACKAGE_PREFIX}-ruby-minitest=5.20.0" + "${MINGW_PACKAGE_PREFIX}-ruby-net-ftp=0.3.4" + "${MINGW_PACKAGE_PREFIX}-ruby-net-imap=0.4.9.1" + "${MINGW_PACKAGE_PREFIX}-ruby-net-pop=0.1.2" + "${MINGW_PACKAGE_PREFIX}-ruby-net-smtp=0.4.0.1" + "${MINGW_PACKAGE_PREFIX}-ruby-power_assert=2.0.3" "${MINGW_PACKAGE_PREFIX}-ruby-prime=0.1.2" - "${MINGW_PACKAGE_PREFIX}-ruby-rake=13.0.6" - "${MINGW_PACKAGE_PREFIX}-ruby-rbs=2.7.0" - "${MINGW_PACKAGE_PREFIX}-ruby-rexml=3.2.5" - "${MINGW_PACKAGE_PREFIX}-ruby-rss=0.2.9" - "${MINGW_PACKAGE_PREFIX}-ruby-test-unit=3.5.3" - "${MINGW_PACKAGE_PREFIX}-ruby-typeprof=0.21.3" - "${MINGW_PACKAGE_PREFIX}-ruby-abbrev=0.1.0" - "${MINGW_PACKAGE_PREFIX}-ruby-base64=0.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-benchmark=0.2.0" - "${MINGW_PACKAGE_PREFIX}-ruby-bigdecimal=3.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-bundler=2.3.27" - "${MINGW_PACKAGE_PREFIX}-ruby-cgi=0.3.6" - "${MINGW_PACKAGE_PREFIX}-ruby-csv=3.2.5" - "${MINGW_PACKAGE_PREFIX}-ruby-date=3.2.2" - "${MINGW_PACKAGE_PREFIX}-ruby-delegate=0.2.0" - "${MINGW_PACKAGE_PREFIX}-ruby-did_you_mean=1.6.1" - "${MINGW_PACKAGE_PREFIX}-ruby-digest=3.1.0" - "${MINGW_PACKAGE_PREFIX}-ruby-drb=2.1.0" - "${MINGW_PACKAGE_PREFIX}-ruby-english=0.7.1" - "${MINGW_PACKAGE_PREFIX}-ruby-erb=2.2.3" - "${MINGW_PACKAGE_PREFIX}-ruby-error_highlight=0.3.0" - "${MINGW_PACKAGE_PREFIX}-ruby-etc=1.3.0" - "${MINGW_PACKAGE_PREFIX}-ruby-fcntl=1.0.1" - "${MINGW_PACKAGE_PREFIX}-ruby-fiddle=1.1.0" - "${MINGW_PACKAGE_PREFIX}-ruby-fileutils=1.6.0" - "${MINGW_PACKAGE_PREFIX}-ruby-find=0.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-forwardable=1.3.2" - "${MINGW_PACKAGE_PREFIX}-ruby-getoptlong=0.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-io-console=0.5.11" - "${MINGW_PACKAGE_PREFIX}-ruby-io-nonblock=0.1.0" - "${MINGW_PACKAGE_PREFIX}-ruby-io-wait=0.2.1" - "${MINGW_PACKAGE_PREFIX}-ruby-ipaddr=1.2.4" - "${MINGW_PACKAGE_PREFIX}-ruby-irb=1.4.1" - "${MINGW_PACKAGE_PREFIX}-ruby-json=2.6.1" - "${MINGW_PACKAGE_PREFIX}-ruby-logger=1.5.0" - "${MINGW_PACKAGE_PREFIX}-ruby-mutex_m=0.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-net-http=0.3.0.1" - "${MINGW_PACKAGE_PREFIX}-ruby-net-protocol=0.1.2" - "${MINGW_PACKAGE_PREFIX}-ruby-nkf=0.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-observer=0.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-open-uri=0.2.0" - "${MINGW_PACKAGE_PREFIX}-ruby-open3=0.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-openssl=3.0.1" - "${MINGW_PACKAGE_PREFIX}-ruby-optparse=0.2.0" - "${MINGW_PACKAGE_PREFIX}-ruby-ostruct=0.5.2" - "${MINGW_PACKAGE_PREFIX}-ruby-pathname=0.2.0" - "${MINGW_PACKAGE_PREFIX}-ruby-pp=0.3.0" - "${MINGW_PACKAGE_PREFIX}-ruby-prettyprint=0.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-pstore=0.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-psych=4.0.4" - "${MINGW_PACKAGE_PREFIX}-ruby-racc=1.6.0" - "${MINGW_PACKAGE_PREFIX}-ruby-rdoc=6.4.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-readline-ext=0.1.4" - "${MINGW_PACKAGE_PREFIX}-ruby-readline=0.0.3" - "${MINGW_PACKAGE_PREFIX}-ruby-reline=0.3.1" - "${MINGW_PACKAGE_PREFIX}-ruby-resolv-replace=0.1.0" - "${MINGW_PACKAGE_PREFIX}-ruby-resolv=0.2.1" - "${MINGW_PACKAGE_PREFIX}-ruby-rinda=0.1.1" + "${MINGW_PACKAGE_PREFIX}-ruby-racc=1.7.3" + "${MINGW_PACKAGE_PREFIX}-ruby-rake=13.1.0" + "${MINGW_PACKAGE_PREFIX}-ruby-rbs=3.4.0" + "${MINGW_PACKAGE_PREFIX}-ruby-rexml=3.3.9" + "${MINGW_PACKAGE_PREFIX}-ruby-rss=0.3.1" + "${MINGW_PACKAGE_PREFIX}-ruby-test-unit=3.6.1" + "${MINGW_PACKAGE_PREFIX}-ruby-typeprof=0.21.9" + "${MINGW_PACKAGE_PREFIX}-ruby-abbrev=0.1.2" + "${MINGW_PACKAGE_PREFIX}-ruby-base64=0.2.0" + "${MINGW_PACKAGE_PREFIX}-ruby-benchmark=0.3.0" + "${MINGW_PACKAGE_PREFIX}-ruby-bigdecimal=3.1.5" + "${MINGW_PACKAGE_PREFIX}-ruby-bundler=2.5.22" + "${MINGW_PACKAGE_PREFIX}-ruby-cgi=0.4.1" + "${MINGW_PACKAGE_PREFIX}-ruby-csv=3.2.8" + "${MINGW_PACKAGE_PREFIX}-ruby-date=3.3.4" + "${MINGW_PACKAGE_PREFIX}-ruby-delegate=0.3.1" + "${MINGW_PACKAGE_PREFIX}-ruby-did_you_mean=1.6.3" + "${MINGW_PACKAGE_PREFIX}-ruby-digest=3.1.1" + "${MINGW_PACKAGE_PREFIX}-ruby-drb=2.2.0" + "${MINGW_PACKAGE_PREFIX}-ruby-english=0.8.0" + "${MINGW_PACKAGE_PREFIX}-ruby-erb=4.0.3" + "${MINGW_PACKAGE_PREFIX}-ruby-error_highlight=0.6.0" + "${MINGW_PACKAGE_PREFIX}-ruby-etc=1.4.3" + "${MINGW_PACKAGE_PREFIX}-ruby-fcntl=1.1.0" + "${MINGW_PACKAGE_PREFIX}-ruby-fiddle=1.1.2" + "${MINGW_PACKAGE_PREFIX}-ruby-fileutils=1.7.2" + "${MINGW_PACKAGE_PREFIX}-ruby-find=0.2.0" + "${MINGW_PACKAGE_PREFIX}-ruby-forwardable=1.3.3" + "${MINGW_PACKAGE_PREFIX}-ruby-getoptlong=0.2.1" + "${MINGW_PACKAGE_PREFIX}-ruby-io-console=0.7.1" + "${MINGW_PACKAGE_PREFIX}-ruby-io-nonblock=0.3.0" + "${MINGW_PACKAGE_PREFIX}-ruby-io-wait=0.3.1" + "${MINGW_PACKAGE_PREFIX}-ruby-ipaddr=1.2.6" + "${MINGW_PACKAGE_PREFIX}-ruby-irb=1.13.1" + "${MINGW_PACKAGE_PREFIX}-ruby-json=2.7.2" + "${MINGW_PACKAGE_PREFIX}-ruby-logger=1.6.0" + "${MINGW_PACKAGE_PREFIX}-ruby-mutex_m=0.2.0" + "${MINGW_PACKAGE_PREFIX}-ruby-net-http=0.4.1" + "${MINGW_PACKAGE_PREFIX}-ruby-net-protocol=0.2.2" + "${MINGW_PACKAGE_PREFIX}-ruby-nkf=0.1.3" + "${MINGW_PACKAGE_PREFIX}-ruby-observer=0.1.2" + "${MINGW_PACKAGE_PREFIX}-ruby-open-uri=0.4.1" + "${MINGW_PACKAGE_PREFIX}-ruby-open3=0.2.1" + "${MINGW_PACKAGE_PREFIX}-ruby-openssl=3.2.0" + "${MINGW_PACKAGE_PREFIX}-ruby-optparse=0.4.0" + "${MINGW_PACKAGE_PREFIX}-ruby-ostruct=0.6.0" + "${MINGW_PACKAGE_PREFIX}-ruby-pathname=0.3.0" + "${MINGW_PACKAGE_PREFIX}-ruby-pp=0.5.0" + "${MINGW_PACKAGE_PREFIX}-ruby-prettyprint=0.2.0" + "${MINGW_PACKAGE_PREFIX}-ruby-prism=0.19.0" + "${MINGW_PACKAGE_PREFIX}-ruby-pstore=0.1.3" + "${MINGW_PACKAGE_PREFIX}-ruby-psych=5.1.2" + "${MINGW_PACKAGE_PREFIX}-ruby-rdoc=6.6.3.1" + "${MINGW_PACKAGE_PREFIX}-ruby-readline=0.0.4" + "${MINGW_PACKAGE_PREFIX}-ruby-reline=0.5.10" + "${MINGW_PACKAGE_PREFIX}-ruby-resolv=0.3.0" + "${MINGW_PACKAGE_PREFIX}-ruby-resolv-replace=0.1.1" + "${MINGW_PACKAGE_PREFIX}-ruby-rinda=0.2.0" "${MINGW_PACKAGE_PREFIX}-ruby-ruby2_keywords=0.0.5" - "${MINGW_PACKAGE_PREFIX}-ruby-securerandom=0.2.0" - "${MINGW_PACKAGE_PREFIX}-ruby-set=1.0.2" - "${MINGW_PACKAGE_PREFIX}-ruby-shellwords=0.1.0" - "${MINGW_PACKAGE_PREFIX}-ruby-singleton=0.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-stringio=3.0.1.2" - "${MINGW_PACKAGE_PREFIX}-ruby-strscan=3.0.1" - "${MINGW_PACKAGE_PREFIX}-ruby-tempfile=0.1.2" - "${MINGW_PACKAGE_PREFIX}-ruby-time=0.2.2" - "${MINGW_PACKAGE_PREFIX}-ruby-timeout=0.2.0" - "${MINGW_PACKAGE_PREFIX}-ruby-tmpdir=0.1.2" - "${MINGW_PACKAGE_PREFIX}-ruby-tsort=0.1.0" - "${MINGW_PACKAGE_PREFIX}-ruby-un=0.2.0" - "${MINGW_PACKAGE_PREFIX}-ruby-uri=0.12.2" - "${MINGW_PACKAGE_PREFIX}-ruby-weakref=0.1.1" - "${MINGW_PACKAGE_PREFIX}-ruby-win32ole=1.8.8" - "${MINGW_PACKAGE_PREFIX}-ruby-yaml=0.2.0" - "${MINGW_PACKAGE_PREFIX}-ruby-zlib=2.1.1" + "${MINGW_PACKAGE_PREFIX}-ruby-securerandom=0.3.1" + "${MINGW_PACKAGE_PREFIX}-ruby-set=1.1.0" + "${MINGW_PACKAGE_PREFIX}-ruby-shellwords=0.2.0" + "${MINGW_PACKAGE_PREFIX}-ruby-singleton=0.2.0" + "${MINGW_PACKAGE_PREFIX}-ruby-stringio=3.1.1" + "${MINGW_PACKAGE_PREFIX}-ruby-strscan=3.0.9" + "${MINGW_PACKAGE_PREFIX}-ruby-syntax_suggest=2.0.1" + "${MINGW_PACKAGE_PREFIX}-ruby-tempfile=0.2.1" + "${MINGW_PACKAGE_PREFIX}-ruby-time=0.3.0" + "${MINGW_PACKAGE_PREFIX}-ruby-timeout=0.4.1" + "${MINGW_PACKAGE_PREFIX}-ruby-tmpdir=0.2.0" + "${MINGW_PACKAGE_PREFIX}-ruby-tsort=0.2.0" + "${MINGW_PACKAGE_PREFIX}-ruby-un=0.3.0" + "${MINGW_PACKAGE_PREFIX}-ruby-uri=0.13.1" + "${MINGW_PACKAGE_PREFIX}-ruby-weakref=0.1.3" + "${MINGW_PACKAGE_PREFIX}-ruby-win32ole=1.8.10" + "${MINGW_PACKAGE_PREFIX}-ruby-yaml=0.3.0" + "${MINGW_PACKAGE_PREFIX}-ruby-zlib=3.1.1" ) ## End of pkgupdprovs modifications -sha256sums=('3685c51eeee1352c31ea039706d71976f53d00ab6d77312de6aa1abaf5cda2c5' +sha256sums=('8dc48fffaf270f86f1019053f28e51e4da4cce32a36760a0603a9aee67d7fd8d' 'e5d665cabac8b7fbb0dda9a556c2350190801aa07b3cb90a0d50097ab99272a0' - 'b250c66bc8b372fb4c53902a6d56c01ad057416e3e368a5c5434d9a4ebdc3819' - 'c9f816baf5b2803e017924c7eeef6a478beb76247d6d4b39a2424c8d34687b2b' - 'f3a61f6d600bb962f23e4ff1c0857120630541d8fcb542957dc0848b00a39690' - 'b910a224d641e48f2c6ef2e7bee7d5d31f7fbda15070fb1ee8460e25590c4085' - '0f63d137d805536f21e90570e57bc4b789af98f513bea9bdeab4d92c8589154b') -noextract=(${_realname}-${pkgver}.tar.gz) + 'fa75de298371bb01e308ced6d1c5a01c829ea8de60ed707b0c76b2c72f0905dc' + '91a3e12bc63d588093941896eda7808ccf0d3f20d8bea18a54313b38c86e5240') apply_patch_with_msg() { for _patch in "$@" @@ -146,82 +138,48 @@ apply_patch_with_msg() { 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 -xzf ${srcdir}/${_realname}-${pkgver}.tar.gz -C ${srcdir} || true - - cd ${srcdir}/${_realname}-${pkgver} + cd ${_realname}-${pkgver} apply_patch_with_msg \ 0003-fix-check-types.patch \ - 0007-nm-use-full-options.patch \ 0008-ucrt-32-win11-insns.patch \ - 0009-windows-arm64.patch - - # https://github.com/ruby/ruby/pull/8995 (slightly adjusted to apply cleanly) - # This fails with llvm-windres (but works with binutils windres): - # windres.exe --preprocessor=clang --preprocessor-arg=-E --preprocessor-arg=-xc a.rc -o a.o - apply_patch_with_msg \ - 81a1fca366d9f5b49836e42acdb19f3ff0c8173c.patch - - # https://github.com/ruby/ruby/pull/8995 - apply_patch_with_msg \ - 2e25fe5200cbc837837708b0845844f36b55d005.patch + 0010-configure-fixes.patch autoreconf -fi } build() { + mkdir -p build-${MSYSTEM} && cd build-${MSYSTEM} - local FFI_INC=$(pkg-config --cflags libffi) - CPPFLAGS+=" -DFD_SETSIZE=2048 ${FFI_INC} -I${MINGW_PREFIX}/include/pdcurses" - CFLAGS+=" -I${MINGW_PREFIX}/include/pdcurses ${FFI_INC}" - CXXFLAGS+=" -I${MINGW_PREFIX}/include/pdcurses ${FFI_INC}" - - if [[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]]; then - CFLAGS+=" -Wno-unknown-attributes" - CXXFLAGS+=" -Wno-unknown-attributes" + if [[ ${MSYSTEM} == CLANG* ]]; then + CFLAGS+=" -Wno-dll-attribute-on-redeclaration" + else + CFLAGS+=" -Wno-incompatible-pointer-types" fi - mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" ../${_realname}-${pkgver}/configure \ --prefix=${MINGW_PREFIX} \ --build=${MINGW_CHOST} \ - --host=${MINGW_CHOST} \ - --target=${MINGW_CHOST} \ - --disable-werror \ - $( [[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] && \ - echo "--with-setjmp-type=setjmp" \ - '--with-soname=$(RUBY_BASE_NAME)$(MAJOR)$(MINOR)0' || true ) + --disable-install-doc \ + --with-setjmp-type=setjmp make } check() { - cd "${srcdir}/build-${MSYSTEM}" + cd build-${MSYSTEM} make test || true } package() { - cd "${srcdir}/build-${MSYSTEM}" + cd build-${MSYSTEM} make DESTDIR="${pkgdir}" install-nodoc + for script in {gem,}; do - install ${srcdir}/ruby-${pkgver}/bin/${script} \ + install ${srcdir}/${_realname}-${pkgver}/bin/${script} \ ${pkgdir}${MINGW_PREFIX}/bin/ done - 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" + install -Dm644 ${srcdir}/${_realname}-${pkgver}/COPYING "${pkgdir}${MINGW_PREFIX}/share/licenses/ruby/LICENSE" + install -Dm644 ${srcdir}/${_realname}-${pkgver}/BSDL "${pkgdir}${MINGW_PREFIX}/share/licenses/ruby/BSDL" }