summaryrefslogtreecommitdiff
path: root/dev-ruby/json
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby/json')
-rw-r--r--dev-ruby/json/Manifest1
-rw-r--r--dev-ruby/json/json-2.18.0.ebuild53
2 files changed, 54 insertions, 0 deletions
diff --git a/dev-ruby/json/Manifest b/dev-ruby/json/Manifest
index e06e3bc343bd..a58dd9bc1d0a 100644
--- a/dev-ruby/json/Manifest
+++ b/dev-ruby/json/Manifest
@@ -5,3 +5,4 @@ DIST json-2.14.1.tar.gz 855875 BLAKE2B f989da0cf149f60b2539d36f54ad1b423033c42da
DIST json-2.15.2.tar.gz 857225 BLAKE2B 882854d354524bfa319cd20b8f18f854563323c831ab2d23e698eae8280e2166c7861173934897ea05ce05dff0cb9e0f3f80537278ca0b16d373a070f2e76b58 SHA512 320e5a6e56829fe32c73e6d0bb6a850fb5e9f123bec01f935ace892350c99e7e94f5bca3d98408ae83bc22f2aa96adc150da727dda7372b92877c2d2e6a91b56
DIST json-2.16.0.tar.gz 885987 BLAKE2B 36dd95d95ea1e2ac1c6d8458c7eb61825725af1f0e99f956f4df15c336e2d0f6a4934aecfd4c1d44f540dc4fa89310224212e577957e35068bc0329060954526 SHA512 4bad117d09fa854e20bbf02baf0b83a66aac7d4a573fbb4bbe61bfcb27ba47d76bb2d9ef11bc6c6077e04bb5a7cf1d0ac2e4e083f0c8820a89fcba667870896e
DIST json-2.17.1.tar.gz 887867 BLAKE2B 0a53059137baa168cca2b285c46ba0facd9bf6d5e8adbcede98fa9fa8bb73a98a58cf7117ee8d681ec72201b5ae17b16a03f4da02417287777e038f5adfac0a3 SHA512 b2f0ee0e0fa8f8fc3fd3d6aaffe8bacdd5aed012efbb121012aa6d0a936ef73122f671a806f7a3e80203342d18fe8ad39faa78755b0f89b60e6cda4a99b996dc
+DIST json-2.18.0.tar.gz 888250 BLAKE2B fe996a27f80da55fc4b5a3d69b69bc20aef5d1c767d99bc0f27e94bc23d23fa0c6dc1ac19df6663f78f1d50f30a6168e33a174f871d6489b19a1eab2e30688fd SHA512 c386463cefcc43c8c237affade9f88feda9d73ef5b293783200c9dd20fc3bc3c2b259b8e22fc792e1126878528082ad7bee4db4a75297797baced31d570eba05
diff --git a/dev-ruby/json/json-2.18.0.ebuild b/dev-ruby/json/json-2.18.0.ebuild
new file mode 100644
index 000000000000..43b3a77483b8
--- /dev/null
+++ b/dev-ruby/json/json-2.18.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby32 ruby33 ruby34"
+
+RUBY_FAKEGEM_EXTRADOC="CHANGES.md README.md"
+RUBY_FAKEGEM_DOCDIR="doc"
+
+RUBY_FAKEGEM_GEMSPEC="json.gemspec"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/json/ext/parser/extconf.rb ext/json/ext/generator/extconf.rb)
+RUBY_FAKEGEM_EXTENSION_LIBDIR=lib/json/ext
+
+inherit ruby-fakegem
+
+DESCRIPTION="A JSON implementation as a Ruby extension"
+HOMEPAGE="https://github.com/ruby/json"
+SRC_URI="https://github.com/ruby/json/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="|| ( BSD-2 Ruby )"
+
+SLOT="$(ver_cut 1)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+
+DEPEND="dev-util/ragel"
+
+ruby_add_bdepend "dev-ruby/rake
+ doc? ( dev-ruby/rdoc )
+ test? (
+ dev-ruby/test-unit:2
+ dev-ruby/test-unit-ruby-core
+ )"
+
+all_ruby_prepare() {
+ # Avoid building the extension twice!
+ # And use rdoc instead of sdoc which we don't have packaged
+ # And don't call git to list files. We're using the pregenerated spec anyway.
+ sed -i \
+ -e '/task :test/ s|:compile||' \
+ -e 's| => :clean||' \
+ -e 's|sdoc|rdoc|' \
+ -e 's|`git ls-files`|""|' \
+ -e '/extensiontask/I s:^:#:' \
+ Rakefile || die "rakefile fix failed"
+
+ sed -e 's/__dir__/"."/' \
+ -i ${RUBY_FAKEGEM_GEMSPEC} || die
+
+ # Avoid setting gem since it will not be available yet when installing
+ sed -i -e '/gem/ s:^:#:' test/json/test_helper.rb || die
+}