summaryrefslogtreecommitdiff
path: root/dev-ruby/duktape-rb
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-11-25 22:39:15 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-11-25 22:39:15 +0000
commitd934827bf44b7cfcf6711964418148fa60877668 (patch)
tree0625f358789b5e015e49db139cc1dbc9be00428f /dev-ruby/duktape-rb
parent2e34d110f164bf74d55fced27fe0000201b3eec5 (diff)
gentoo resync : 25.11.2020
Diffstat (limited to 'dev-ruby/duktape-rb')
-rw-r--r--dev-ruby/duktape-rb/Manifest5
-rw-r--r--dev-ruby/duktape-rb/duktape-rb-2.3.0.0-r2.ebuild51
-rw-r--r--dev-ruby/duktape-rb/files/duktape-rb-2.3.0.0_duktape-2.5.0-tests.patch28
-rw-r--r--dev-ruby/duktape-rb/files/duktape-rb-2.3.0.0_use-system-duktape.patch79
-rw-r--r--dev-ruby/duktape-rb/metadata.xml15
5 files changed, 178 insertions, 0 deletions
diff --git a/dev-ruby/duktape-rb/Manifest b/dev-ruby/duktape-rb/Manifest
new file mode 100644
index 000000000000..cbe2da03a345
--- /dev/null
+++ b/dev-ruby/duktape-rb/Manifest
@@ -0,0 +1,5 @@
+AUX duktape-rb-2.3.0.0_duktape-2.5.0-tests.patch 677 BLAKE2B 74224d6c929cafc5d61566ff9bcd69f4279d1e14e3029e9af2396c4e7c1c280bba5bc8ed7a9751c8f9596cb26414d0ee893e346480ed3b780db602eb40169425 SHA512 3754e03340c2cbed7f9b264c718c4b39d7115b7c7d6d9ce6980bb04a0f426bc626019edb132f34ae031fb53be6c6aacca71137b1c46fda879dd285e4f920249b
+AUX duktape-rb-2.3.0.0_use-system-duktape.patch 1860 BLAKE2B 479457cc1782a43ea217ac65dc20f41bfd8ca75dcdf7b77403b144514b590989a98eba01b3f0687e49b81cbb9a096bebb7e0034a0c09dcae36def12d10ea8e13 SHA512 567b9d3b41a413703e64e9167c683a5fb60af13a97426aa03ffe4a38ca6f810fad54ee29269157698c70c762329b3e889b7bed72420700764a478c9047abd4ef
+DIST duktape-rb-2.3.0.0.tar.gz 1356464 BLAKE2B be7362ddbe6860bcb12c8f8909f66ae525585e628f7be2317b07eb07960f8f25e503dbc89e713e57144cc8108751ac856aa73a16cbd58502e928acf9e116247c SHA512 af4fd45387c3f40cd24bf3c879ef4e0d7efd43ca24f0cb866bf869db7fa9f4add9b60122c0dcfbce5491cdd7479b1414637fa1054078216b9f57fa426feb0154
+EBUILD duktape-rb-2.3.0.0-r2.ebuild 1088 BLAKE2B 399ef457a21cbf2951ffbb6c7f3f79fbba8f57959b203e071bc54489ce9774185654da6d337f890357f7fbc08a0a8a07ff939c37c8b2129c4028e0a547bdbb8a SHA512 68d60258bc35d50b3739b852371e8ea24f8cad7a224201baa542b84adbe9870a438e1ef2b406de80f0f506eb2cc48210471e7a94c2b6c084c31162b480bbe838
+MISC metadata.xml 456 BLAKE2B 68d38aee7b4f05acc971cfce3dfd8df7be680a45fa0f304a37f829096a3987130855b048c082887f38ce023615eccbbe9a9a83be27103c354c614b8fabc9f08f SHA512 25e7ef6ee7433b73deedbe4a7cdada16b57000a9f02b9a834a228f604624b310d41aba9cdcb11e7989079034181e4143b1e98d320572430c9152c4ba9583fee1
diff --git a/dev-ruby/duktape-rb/duktape-rb-2.3.0.0-r2.ebuild b/dev-ruby/duktape-rb/duktape-rb-2.3.0.0-r2.ebuild
new file mode 100644
index 000000000000..ae7052fef742
--- /dev/null
+++ b/dev-ruby/duktape-rb/duktape-rb-2.3.0.0-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+USE_RUBY="ruby25 ruby26 ruby27"
+
+RUBY_FAKEGEM_GEMSPEC="duktape.gemspec"
+RUBY_FAKEGEM_NAME="duktape"
+
+inherit ruby-fakegem
+
+MY_PN=${PN/-/\.}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Ruby bindings to the Duktape JavaScript interpeter"
+HOMEPAGE="https://github.com/judofyr/duktape.rb"
+SRC_URI="https://github.com/judofyr/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ppc"
+
+COMMON_DEPEND="dev-lang/duktape:="
+DEPEND+="${COMMON_DEPEND}"
+RDEPEND+="${COMMON_DEPEND}"
+
+ruby_add_bdepend "
+ dev-ruby/pkg-config
+ dev-ruby/rake-compiler
+ dev-ruby/sdoc
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.3.0.0_duktape-2.5.0-tests.patch
+ "${FILESDIR}"/${PN}-2.3.0.0_use-system-duktape.patch
+)
+
+RUBY_S=${MY_P}
+
+all_ruby_prepare() {
+ rm ext/duktape/duktape.{c,h} ext/duktape/duk_config.h || die "Failed to remove bundled duktape"
+}
+
+each_ruby_configure() {
+ ${RUBY} -C ext/duktape extconf.rb || die "extconf.rb failed"
+}
+
+each_ruby_compile() {
+ ${RUBY} -S rake compile
+}
diff --git a/dev-ruby/duktape-rb/files/duktape-rb-2.3.0.0_duktape-2.5.0-tests.patch b/dev-ruby/duktape-rb/files/duktape-rb-2.3.0.0_duktape-2.5.0-tests.patch
new file mode 100644
index 000000000000..20228c480da8
--- /dev/null
+++ b/dev-ruby/duktape-rb/files/duktape-rb-2.3.0.0_duktape-2.5.0-tests.patch
@@ -0,0 +1,28 @@
+The parse-error message asserted by two of the tests has changed since
+duktape-2.3.0, it is now
+
+# encoding: ASCII-8BIT
+parse error (line 1, end of input)
+
+This should hopefully cover both cases.
+
+--- a/test/test_duktape.rb
++++ b/test/test_duktape.rb
+@@ -102,7 +102,7 @@
+ @ctx.eval_string('{')
+ end
+
+- assert_equal "parse error (line 1)", err.message
++ assert_match /parse error [(]line 1/, err.message
+ end
+
+ def test_type_error
+@@ -160,7 +160,7 @@
+ @ctx.exec_string('{')
+ end
+
+- assert_equal "parse error (line 1)", err.message
++ assert_match /parse error [(]line 1/, err.message
+ end
+
+ def test_type_error
diff --git a/dev-ruby/duktape-rb/files/duktape-rb-2.3.0.0_use-system-duktape.patch b/dev-ruby/duktape-rb/files/duktape-rb-2.3.0.0_use-system-duktape.patch
new file mode 100644
index 000000000000..9f35293c9e81
--- /dev/null
+++ b/dev-ruby/duktape-rb/files/duktape-rb-2.3.0.0_use-system-duktape.patch
@@ -0,0 +1,79 @@
+--- a/MANIFEST.txt
++++ b/MANIFEST.txt
+@@ -1,9 +1,6 @@
+ README.md
+ CHANGELOG.md
+-ext/duktape/duktape.c
+-ext/duktape/duktape.h
+ ext/duktape/duktape_ext.c
+-ext/duktape/duk_config.h
+ ext/duktape/extconf.rb
+ lib/duktape/version.rb
+ lib/duktape.rb
+--- a/ext/duktape/extconf.rb
++++ b/ext/duktape/extconf.rb
+@@ -1,6 +1,64 @@
+ require 'mkmf'
+ require 'zlib'
+
++#
++# functions
++#
++
++def package_config pkg, options={}
++ package = pkg_config(pkg)
++ return package if package
++
++ begin
++ require 'rubygems'
++ gem 'pkg-config', (gem_ver='~> 1.1')
++ require 'pkg-config' and message("Using pkg-config gem version #{PKGConfig::VERSION}\n")
++ rescue LoadError
++ message "pkg-config could not be used to find #{pkg}\nPlease install either `pkg-config` or the pkg-config gem per\n\n gem install pkg-config -v #{gem_ver.inspect}\n\n"
++ else
++ return nil unless PKGConfig.have_package(pkg)
++
++ cflags = PKGConfig.cflags(pkg)
++ ldflags = PKGConfig.libs_only_L(pkg)
++ libs = PKGConfig.libs_only_l(pkg)
++
++ Logging::message "PKGConfig package configuration for %s\n", pkg
++ Logging::message "cflags: %s\nldflags: %s\nlibs: %s\n\n", cflags, ldflags, libs
++
++ [cflags, ldflags, libs]
++ end
++end
++
++def duktape_try_compile
++ try_compile "int main() {return 0;}", "", {werror: true}
++end
++
++def add_cflags(flags)
++ print "checking if the C compiler accepts #{flags}... "
++ with_cflags("#{$CFLAGS} #{flags}") do
++ if duktape_try_compile
++ puts 'yes'
++ true
++ else
++ puts 'no'
++ false
++ end
++ end
++end
++
++#
++# main
++#
++
++if ENV['CC']
++ RbConfig::CONFIG['CC'] = RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC']
++end
++$LIBS << " #{ENV["LIBS"]}"
++$LDFLAGS << " #{ENV["LDFLAGS"]}"
++add_cflags(ENV["CFLAGS"])
++
++package_config('duktape')
++
+ $CFLAGS += ' -std=c99'
+ have_func 'rb_sym2str'
+ create_makefile 'duktape_ext'
diff --git a/dev-ruby/duktape-rb/metadata.xml b/dev-ruby/duktape-rb/metadata.xml
new file mode 100644
index 000000000000..9e38302f85b5
--- /dev/null
+++ b/dev-ruby/duktape-rb/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">judofyr/duktape.rb</remote-id>
+ </upstream>
+</pkgmetadata>