summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin17500 -> 17507 bytes
-rw-r--r--dev-lang/clojure/Manifest11
-rw-r--r--dev-lang/clojure/clojure-1.10.3.ebuild97
-rw-r--r--dev-lang/clojure/files/add-compile-spec-ant-build-target.patch54
-rw-r--r--dev-lang/python/Manifest2
-rw-r--r--dev-lang/python/python-2.7.18_p11.ebuild2
-rw-r--r--dev-lang/starlark-rust/Manifest3
-rw-r--r--dev-lang/starlark-rust/files/test/features.bash193
-rw-r--r--dev-lang/starlark-rust/starlark-rust-0.4.0.ebuild6
9 files changed, 364 insertions, 4 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index da1bf16dd449..6f2f5797fcb8 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/clojure/Manifest b/dev-lang/clojure/Manifest
index 8822600b8ef6..79413d4b61e2 100644
--- a/dev-lang/clojure/Manifest
+++ b/dev-lang/clojure/Manifest
@@ -1,7 +1,18 @@
+AUX add-compile-spec-ant-build-target.patch 1813 BLAKE2B 5a24f1457e298429bee3fe31deca54df3801665ed57a91c9ee760003418a34a3d5f59cfe432eedfb8a247e8b9c12dce701253dd9fc747b3bf1c84f10d8bc9ec5 SHA512 da5e5a61faa8c17244073dcfa0de40c9aec1ce698df60aa1b8ba89d5aa187e9974edd400fee711120c0181b152e461db8669a85f5b83ff037023c3f05a81f21b
DIST clojure-1.10.0.tar.gz 678715 BLAKE2B 8f69a327e94e173864b3d8b81e92ab716c70be9fa59bbd836889cb75a8d44518a3aa2a8fbec50a04f2e7d1afdb07ffef2f7069077e22ef91f321c5fb122d2bb9 SHA512 d53d2322662974d2eed97d7870f0f91822de8acb91e30b50b0dca4186ee667c46b2b5863e080d89e3bfe63d090c6ac2e25617f74d1434bae2ca1e73ae9a36012
+DIST clojure-1.10.3.tar.gz 683020 BLAKE2B ea57231375589d5c45b7e8a1fe87ea3f371e631733d5ae27d547e84a575cd7a54394fa401c920a7ec5e7218719f2ecd728a77e1d3e05c803f0620fcfeabd4199 SHA512 540c4c730a9f504f4e8a33e957fb150a70c3f1afa8e10205d23bb3c0528a46ca615b3a95dbedf367d4d0965d8eabc69b2d7f3bc144be9b4cb64fba085bfc6d9d
DIST clojure-1.8.0.tar.gz 627688 BLAKE2B 7dc3029e38e574cd32c74cce1f3ae03890869023d5fb2e8138f2fdc4461b3f9e119c4b6042e2b7caee9561b664b49cbaf79378ef1fdd0fd78c4d712c3b9d95de SHA512 fa5714397e679f77260db054bdc0891a311e7bd14bfceb2dd0494480fb9cf21fc74dd295e75070105ff0cdd50842390a748d8782397c549f51d85d18d54a1231
DIST clojure-1.9.0.tar.gz 641645 BLAKE2B 767241c7f252a2977511adf257b1805f81a96594cff2b1b9837c782cfaabd49ae8e6eef30398e7e277952124e843967ac635985da97e2e7c5cc98ec177f3d79c SHA512 8877c654f6aa8ad990593e69b611388659973e5d1d46cf8f6cfae59c4033424a3c7eebd477539784cbd7974f7ff30580f76d8a4117414491f38e18ac3b4efb27
+DIST core.specs.alpha-0.2.56.tar.gz 11780 BLAKE2B 088d0b32dea7ec49ddaf0f461703762a5a877ff4028b775eb35998e6a5a3436ad57b35d7d9431b6911ca2304403e95043d375bac80080ecaf6144a77b3ebcf4c SHA512 afbfc04b9708a21ae6c6b29b8653fc62b23efcb271b973534c4b8421a7d73df3ad24bd28d7115a2fe926954dc45571de86971637736f3a494799f6f1ba1765c8
+DIST data.generators-1.0.0.tar.gz 9940 BLAKE2B 981ac8f91ae05aecc7a9e7c85cbd59c5a50785bdc969309465374393234fd0a72d9803931acebbbbf369e812de33f0ac0c2ddc3009f8bb4237debd9e665301f3 SHA512 a8d5881c401b409e7e4192243e62288855b435d5979fd7950fcd3ee5291d16ce4aad913ea1dadf26db8a1297a21cab19e1e1e5d31e26db57a6fa4ed17bcefe0b
+DIST java.classpath-1.0.0.tar.gz 8955 BLAKE2B 1ab2d077d9f852ee72a1576b71d6aa8764f2fdb04eeed3f7710a7deb65942df8c0b1caff5847e329c191316c7218877b8b136b9dcefdb8f450f383beed5805ba SHA512 552f31f1f27fd80f262bbec4777626951bccef6689f4586fc327c3490669d25591c1a87907b15709dcb8d69f47ce33341d219694877b44481859b79fb38737fa
+DIST spec.alpha-0.2.194.tar.gz 39101 BLAKE2B 86de07fd83495b72d3b7d85b803ee9ecafba9a72d8541b5c62f22ad32d4e16b0c7be758ea8d30b743eba6fe994e09898e2f59b2b720913e7e1ab3732b496423f SHA512 3170883c1d62acf9af1435a5ca1ced34a318c53d1cd443d58a74afdcae4888553b9dba91fb81ccea8824c3a0c2396a0efbfaeb8ab408d8bbcf1aea0d3da9c82e
+DIST test.check-1.1.0.tar.gz 85177 BLAKE2B bb7690f276d6503a98befd4542899891d6388a24bd8ed739f20f69742cc274f3b8bf0ab7196eb3de787ff3efd3803f40d695129e1fc897b84bc4176ecb672be7 SHA512 7e896df721476b090f26c8ee417e30b59bc66708904cd30c3c663894f16e2ff3a0622f806ae4495fc6001d50e997b563ee955cc464547fecbbe6147b2b61ab17
+DIST test.generative-1.0.0.tar.gz 140414 BLAKE2B 8895fd2e86fe3ac54c826af10f914e43e3dcb0233e799102c6ec2024fb77fe8a47dfed1753a432ef4353ebbe0f790334f30a0b6d42195e869ecadb21d545578a SHA512 28aeed3dde40b1e02ee41219b698083e5ec7c63df0c779d1db75e07e5000faf0cd1415fe7418e241ebbea6979606db72696fb0090c4204d22ec1aea689b2ac34
+DIST tools.namespace-1.1.0.tar.gz 36182 BLAKE2B e93ef1151f3c1d4bdbda881712c008c50a4e40e2787c9de2708d918009bcbeaf2db143770fbe8d6d251688b1b1bb50d75a8fca1a684badae1634aa8f23b08c3c SHA512 9cdac4dc90192b621cfadb901bb9b2befb9684a6431e87938b6993b879bac2d9c946cdc0ec29226503b7c2406ef2db9be7d49a2398bcf27520d422b0dbfd0185
+DIST tools.reader-1.3.4.tar.gz 62300 BLAKE2B f8257166e62963f468987b6c926edfce852cfddc7b641e3af25aeee919f8b03f9e82c91bcd65f6b3110d3b042bb8b2d063468b7707db5965eb044546619ef711 SHA512 329e4afb9aa77231fe2d583ed6ac11089c2f7a9600db02109ad205bfdacb747a8af3af28202e545a4ffd71a77b4a04aab2a35a0e3a12f88085ef705060a15a74
EBUILD clojure-1.10.0.ebuild 1074 BLAKE2B df5abfbf48e516389c03fd3e214516bc3708b31d2fbfce55e1dc14f5e933009dbb7d947ea51244194c9e05a358b738c6e2a995427d5a673692280bfb6a2034b3 SHA512 ee9b624170f4a69221826158a5458cd5a11d329501965b4ba3f6bb4e3c897470e85693f582e2b17af070a276ccf157b8432a3bb9fda77504ce8509b95b95c7c7
+EBUILD clojure-1.10.3.ebuild 3369 BLAKE2B 6eac9a6b8149a4c4e5f7a2afcd9bbb8b8cb6ce269bf2d1e0e5774e6d258d0bca700c96156a261fffc03522e228fa6afa2c057ca9439a0af23fb4cf181ffcc2bc SHA512 2faa1d17cd3017759f4703cf9eaa63f7fd7886bb6821a36e7e51be7681860fd8f45143b17aa69ec42c5c4bd4b50be50e3afdbe80d7a5a07fca2cc292135ee6c1
EBUILD clojure-1.8.0.ebuild 779 BLAKE2B d415833f59ac76342dda84f41eab55785639c30f18ac16bf023f535563d6d6ea3b103909624fe907d718d73de94f2b199568faa85140c6239873572ba716c1e6 SHA512 2f7c5c20f310e935de6e00961f14a1cf4ab15b8645cd92fc596595aa343abe24f5979eabe3e2572f5aa0a3834c953d834f76662846686f671200904bce3e9154
EBUILD clojure-1.9.0-r1.ebuild 1073 BLAKE2B b1a614dbe91ef60efe29e0953ee7c0ac759e8fcf1b7ff155afe57283a0537a6376f13d201b354c2760e3a8291768131a09cd7e7158b3d1a4060af327b7e202e5 SHA512 449b5f10455e76631d0c99970e78c989e4cfe039b72acd86d7a0b51fe83065c8e8bf1cabe98f4efcab0d4e100d2cd297dabaf271ce57c42b44eb73c03bae89e4
MISC metadata.xml 252 BLAKE2B 738fe12dbc3869c6805e9f90ec607615f0ef13904c794e181e80fca986675cfe884cdbae333fe4837f8bec0f25235ad5d1c223ccd4f01e3355b4f261abe3767c SHA512 471e24b868f43f66916b081b0f2b7995830020f886a33f177a10556a60f824decfe63fc5128e5184b9edc2e157d3f022cb1913303b3cffe4aa9233025843b9dd
diff --git a/dev-lang/clojure/clojure-1.10.3.ebuild b/dev-lang/clojure/clojure-1.10.3.ebuild
new file mode 100644
index 000000000000..49ac956f05cc
--- /dev/null
+++ b/dev-lang/clojure/clojure-1.10.3.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+JAVA_PKG_IUSE="test"
+
+inherit java-pkg-2 java-ant-2
+
+SPEC_ALPHA_VER="0.2.194"
+CORE_SPECS_ALPHA_VER="0.2.56"
+
+TOOLS_NAMESPACE_VER="1.1.0"
+JAVA_CLASSPATH_VER="1.0.0"
+TOOLS_READER_VER="1.3.4"
+TEST_GENERATIVE_VER="1.0.0"
+DATA_GENERATORS_VER="1.0.0"
+TEST_CHECK_VER="1.1.0"
+
+DESCRIPTION="General-purpose programming language with an emphasis on functional programming"
+HOMEPAGE="https://clojure.org/"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/${P}.tar.gz
+ https://github.com/clojure/spec.alpha/archive/spec.alpha-${SPEC_ALPHA_VER}.tar.gz
+ https://github.com/clojure/core.specs.alpha/archive/core.specs.alpha-${CORE_SPECS_ALPHA_VER}.tar.gz
+ test? (
+ https://github.com/clojure/tools.namespace/archive/refs/tags/tools.namespace-${TOOLS_NAMESPACE_VER}.tar.gz
+ https://github.com/clojure/java.classpath/archive/refs/tags/java.classpath-${JAVA_CLASSPATH_VER}.tar.gz
+ https://github.com/clojure/tools.reader/archive/refs/tags/tools.reader-${TOOLS_READER_VER}.tar.gz
+ https://github.com/clojure/test.generative/archive/refs/tags/test.generative-${TEST_GENERATIVE_VER}.tar.gz
+ https://github.com/clojure/data.generators/archive/refs/tags/data.generators-${DATA_GENERATORS_VER}.tar.gz
+ https://github.com/clojure/test.check/archive/refs/tags/test.check-${TEST_CHECK_VER}.tar.gz
+ )
+"
+
+LICENSE="EPL-1.0 Apache-2.0 BSD"
+SLOT="$(ver_cut 1-2)"
+
+KEYWORDS="~amd64 ~x86 ~x86-linux"
+
+PATCHES=(
+ "${FILESDIR}/add-compile-spec-ant-build-target.patch"
+)
+
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=virtual/jre-1.8"
+DEPEND=">=virtual/jdk-1.8"
+
+S="${WORKDIR}/${PN}-${P}"
+
+DOCS=( changes.md CONTRIBUTING.md readme.txt )
+
+src_prepare() {
+ default
+ java-utils-2_src_prepare
+
+ ln -rs \
+ "../spec.alpha-spec.alpha-${SPEC_ALPHA_VER}/src/main/clojure/clojure/spec" \
+ "src/clj/clojure/spec" || die "Could not create symbolic link for spec-alpha"
+ ln -rs \
+ "../core.specs.alpha-core.specs.alpha-${CORE_SPECS_ALPHA_VER}/src/main/clojure/clojure/core/specs" \
+ "src/clj/clojure/core/specs" || die "Could not create symbolic link for core-specs-alpha"
+}
+
+src_compile() {
+ eant -f build.xml jar
+}
+
+src_test() {
+ ln -rs \
+ "../tools.namespace-tools.namespace-${TOOLS_NAMESPACE_VER}/src/main/clojure/clojure/tools" \
+ "src/clj/clojure/tools" || die "Could not create symbolic link for tools-namespace"
+ mv \
+ "../java.classpath-java.classpath-${JAVA_CLASSPATH_VER}/src/main/clojure/clojure/java/"* \
+ "src/clj/clojure/java" || die "Could not move java-classpath"
+ mv \
+ "../tools.reader-tools.reader-${TOOLS_READER_VER}/src/main/clojure/clojure/tools/"* \
+ "src/clj/clojure/tools" || die "Could not move tools-reader"
+ mv \
+ "../test.generative-test.generative-${TEST_GENERATIVE_VER}/src/main/clojure/clojure/test/"* \
+ "src/clj/clojure/test" || die "Could not move test-generative"
+ ln -rs \
+ "../data.generators-data.generators-${DATA_GENERATORS_VER}/src/main/clojure/clojure/data/" \
+ "src/clj/clojure/data" || die "Could not create symbolic link for data-generators"
+ mv \
+ "../test.check-test.check-${TEST_CHECK_VER}/src/main/clojure/clojure/test/"* \
+ "src/clj/clojure/test" || die "Could not move test-check"
+
+ eant -f build.xml test
+}
+
+src_install() {
+ java-pkg_newjar "${PN}.jar"
+ java-pkg_dolauncher ${PN}-${SLOT} --main clojure.main
+ einstalldocs
+}
diff --git a/dev-lang/clojure/files/add-compile-spec-ant-build-target.patch b/dev-lang/clojure/files/add-compile-spec-ant-build-target.patch
new file mode 100644
index 000000000000..5faea8013122
--- /dev/null
+++ b/dev-lang/clojure/files/add-compile-spec-ant-build-target.patch
@@ -0,0 +1,54 @@
+From 3270c158d191f7e59540667c2dbe6c5dc7a19a59 Mon Sep 17 00:00:00 2001
+From: Florian Schmaus <flo@geekplace.eu>
+Date: Thu, 17 Jun 2021 14:52:01 +0200
+Subject: [PATCH] Add compile-spec ant build target
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Suggested-by: Göktürk Yüksek <gokturk@gentoo.org>
+---
+ build.xml | 20 +++++++++++++++++++-
+ 1 file changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/build.xml b/build.xml
+index 4d29bbf9a27e..dc742113938f 100644
+--- a/build.xml
++++ b/build.xml
+@@ -85,6 +85,24 @@
+ </java>
+ </target>
+
++ <target name="compile-spec"
++ description="Compile Clojure spec sources."
++ depends="compile-java">
++ <java classname="clojure.lang.Compile"
++ classpath="${build}:${cljsrc}"
++ failonerror="true"
++ fork="true">
++ <sysproperty key="clojure.compile.path" value="${build}"/>
++ <sysproperty key="clojure.compiler.direct-linking" value="true"/>
++ <sysproperty key="clojure.spec.skip-macros" value="true"/>
++ <sysproperty key="java.awt.headless" value="true"/>
++ <arg value="clojure.spec.alpha"/>
++ <arg value="clojure.spec.gen.alpha"/>
++ <arg value="clojure.spec.test.alpha"/>
++ <arg value="clojure.core.specs.alpha"/>
++ </java>
++ </target>
++
+ <target name="compile-tests"
+ description="Compile the subset of tests that require compilation."
+ unless="maven.test.skip">
+@@ -149,7 +167,7 @@
+
+ <target name="build"
+ description="Build Clojure (compilation only, no tests)."
+- depends="compile-java, compile-clojure"/>
++ depends="compile-java, compile-clojure, compile-spec"/>
+
+ <target name="jar" depends="build"
+ description="Create clojure jar file.">
+--
+2.31.1
+
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index 3afb3bda4ee7..7a2014527616 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -23,7 +23,7 @@ DIST python-gentoo-patches-3.7.10_p6.tar.xz 23868 BLAKE2B 3b3786030a461d06a96dbe
DIST python-gentoo-patches-3.8.10_p2.tar.xz 20288 BLAKE2B 4d9db5c8d5c27673d5a026149e5678c2b4072d6d0326ae015bf4fd5b5065beeff0cd6ee0a061f79ab3258d3d156d555a38cbdca2e5e05b4405038847dcc97c8e SHA512 165a4e3b537538e792a98141a8e4af6b5cde369e6322155731ecb1b55d0e609f06208d88d68dbb1fbe59a5127ae7ac49d76d8fb6505ccf835931b2a802cd85de
DIST python-gentoo-patches-3.9.5_p2.tar.xz 14728 BLAKE2B b6b0a0c316d99e8282bdbb5e62a90f84880ff89b0b1e236a5bce37fbdd3c3b187f7964873882dbcbc8c9765af107377240e8aac544987452830f0069aff471c0 SHA512 42e4dd48f4b93bd45a70093b447b4862ab286c1b5adc32d22a3e3d08e67db13bfa829bdbcf989fac9b7c8634a4735cfb4a7b16bfc40bdff0c11bc5a768bbeaf8
EBUILD python-2.7.18_p10.ebuild 10278 BLAKE2B 1831412a47fd78750e3fc1d6bc91c403f70ae1e51500adbc197f671d5057230bee9aac2437ff1fda45923021a3ead7c91cc5fb27967426bc7d45c8dd4162a0d8 SHA512 59eb7b80b2e39da2b2ed47a33b3ddf13975c40ce565f6552c66d7e3bc2bdcd8534065b8f0782d49b5dbb52afd7135af5f0858e963a0bd182723e76445d5495e7
-EBUILD python-2.7.18_p11.ebuild 10286 BLAKE2B 490b727dd3e90848b581d42414b170a025d5cf88dbbbd0cf5096c1a90c7084fa22c87f8705e9bbd9c8503dfe39dbf80c8a386ecd0877c00c3fedc6bc543b69a4 SHA512 d8e4a44c97d9e60ba94dc5ec1c48b1bf840adadec0e3dc5d2cbd1bd419f623af8637bc52a905489f4a22b0869e9f6dc5d4371fe458958ca39d2abb19afc122b6
+EBUILD python-2.7.18_p11.ebuild 10285 BLAKE2B 5ef793671415ce15644f5f120fbc083444c5d0dcdac2cfdec6a78f072529abf5caded73a1704ae2248949b1c349e03ef1359c64cb14f540d755abb0b110d26ef SHA512 111ebd8d68a57b84d8fb93d472903f1afd6d0a7fa4df6244634b00a8a0380fead2c7609430c81b0287a1ef44db173d538a99578787b59f05c7fff4e401ff0764
EBUILD python-3.10.0_beta2.ebuild 10045 BLAKE2B 085fb4c2d64576159313076da40f6c7096d6815151d2a3e082a5bae5164d40442996d579e887dc5a39fa52dfb1220b67fc26f840b2f0b1997346fccfdee56009 SHA512 e66d80207f5897b6bcd72f1506ee5418c13eb1cc51a1b3681e653d49d7473f5755edc8096c7d3becb613275f1e40a13b399b9c61dfc85da9b9e209791ea2d230
EBUILD python-3.10.0_beta3.ebuild 10045 BLAKE2B 085fb4c2d64576159313076da40f6c7096d6815151d2a3e082a5bae5164d40442996d579e887dc5a39fa52dfb1220b67fc26f840b2f0b1997346fccfdee56009 SHA512 e66d80207f5897b6bcd72f1506ee5418c13eb1cc51a1b3681e653d49d7473f5755edc8096c7d3becb613275f1e40a13b399b9c61dfc85da9b9e209791ea2d230
EBUILD python-3.6.13_p5.ebuild 9827 BLAKE2B 1b4e38ac6584840625040b89cb888db177a46cd6faec6c236c32f56b890fc6487c826dd9820f05ba9493a792df8f2bab252c7e1c3c86a49fc0e3e1ae00828b43 SHA512 185ca27fa6ba4ed17b89d0e6f21efa5fd44aa40637f3844401e7d6140f82d6d2a815d61210aad50c322de029bae7a46654c90e4ec448bbee6caab25d3a82d711
diff --git a/dev-lang/python/python-2.7.18_p11.ebuild b/dev-lang/python/python-2.7.18_p11.ebuild
index 761227cea60f..b7add6ea2b7c 100644
--- a/dev-lang/python/python-2.7.18_p11.ebuild
+++ b/dev-lang/python/python-2.7.18_p11.ebuild
@@ -22,7 +22,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 sparc ~x86"
IUSE="berkdb bluetooth build elibc_uclibc examples gdbm hardened ipv6 +ncurses +readline +sqlite +ssl +threads tk +wide-unicode wininst +xml"
# Do not add a dependency on dev-lang/python to this ebuild.
diff --git a/dev-lang/starlark-rust/Manifest b/dev-lang/starlark-rust/Manifest
index 42b4969a445a..dc6babae929c 100644
--- a/dev-lang/starlark-rust/Manifest
+++ b/dev-lang/starlark-rust/Manifest
@@ -1,3 +1,4 @@
+AUX test/features.bash 3734 BLAKE2B a303b557ae2a9cbc8ec63153c65d4837e16febf5066045bc8a5b5fd88b3f92ace939bdbe510bd38698c88fea5085748fbbef6c7b27d94d5f1e713c7c207eb892 SHA512 9e6b0be6acb370610288cc2c1804fb8e34aa8a362eeae8e6bbb930988a8e366c7931a68f5d9afe90155d1c72e510c152e91823ff96b591277151033885869dca
DIST Inflector-0.11.4.crate 17438 BLAKE2B eaf0c7f983b3186e9bc89353021a10592f2877e46585bd50b96db9b087343d1199c7b6cf3fa53cd274fb6d33de025a904b8aa31a7ac9599ae3689ecdbcec34cd SHA512 f1f6463e033b6d3c16c51dc1e1a3f5569954308b95b59058294b7f9310919bbda797e99e6a07529071bb83f0688867a243997d33795a7136b0af73977004296e
DIST aho-corasick-0.7.18.crate 112923 BLAKE2B 4f6947d1aacf89ccfab0592cdc55fa61ef09cea38231d3f758765dbce328a810c0b588be4ba96e81d64955379ee005722d22a7aec39caea6e72342245d7ca34f SHA512 7a23b16231a90d23ee60ad4c81bc225410599a4560d33d3a203138fc540c39cf1000100fed3aed40dcc371c3635656a3792545dca5dd1aefbde00d8774eebd00
DIST annotate-snippets-0.9.0.crate 31491 BLAKE2B d62d0d0da8b38d570f6efac995ec9014074d44500fb8634d2215187d063cda2c523c37d690551a536c8a1e30b8fbb2974b577b695a02fd4c236520fae5fefb9f SHA512 bdcdf3ce7fae0232a804604b3580ca8b68d29f8cb67f10fd39411b2ca2dc4c497dc9882bbcddecb15977809bdc58f8a946f25ce0152d27e4d128b3dd83087d9c
@@ -155,5 +156,5 @@ DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f955297217
DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
DIST yansi-term-0.1.2.crate 14342 BLAKE2B 31a1651bb43644cf880d591a22fe9d899ab0acbc744ced2952f120b4abfa0c42f6513089e34deaff1a453f3a26f9fb78442f016baa9524ccac9b21e4a7ed6ad6 SHA512 ba720e36487871427aaa7139e8aeaf5b2b3f2d1df4798d7e238e323dc3d3220f12202e223f74339201be3466848c372dc1712e1842e5cd6bd51c3dedf76c9ff6
-EBUILD starlark-rust-0.4.0.ebuild 3616 BLAKE2B aae6a6b8d5d9b236b77c04354b37d9f1d7e281c50c36ca7ce488a760233d1774b4989b7716b11e2efa359e2049b4a2b01a9af36078945d28d6aebd040759f08f SHA512 7c2166c99ad503abd78e4dcf3bac81b68ca0be3ac5642e20470dfcbaa8014b77ded65852bc78b673f78b0eac8d660a1d0ce7a9a509a7dfcddeb7f5081c454e41
+EBUILD starlark-rust-0.4.0.ebuild 3722 BLAKE2B 29ee2374a066f36ceae5b9ccafbdc4e6c3bf448db6f291eee3d986f97cbc22db39d83c95cb134bf93ca1830efe56e010b7c956d23abbdfcd4c750dd3d8e5a28f SHA512 2cd0c4cbed27d7d2373c38b94fade3277553b34c1d3e12304400085c41f0e4615fb1361865f4af71dbed898e5eed37e6e73b71e4e8c03368a5eda1711546d94b
MISC metadata.xml 601 BLAKE2B 917f50abeaa30d0b8b5c6d7d4505c138482321813cd791155289193d694ef37806a50c07fd789cb3206ea698eda0f182cdc216fc49f46e8d9c338776684b3748 SHA512 af72e05360ea24d1af783d877009b2119cf9a55b74266661290deb722358f3821a8cbbb1ac2da3ea704bc8ba091e155cbf55e3c9cf1997e89b1a1a3258771869
diff --git a/dev-lang/starlark-rust/files/test/features.bash b/dev-lang/starlark-rust/files/test/features.bash
new file mode 100644
index 000000000000..1fd74e3326e9
--- /dev/null
+++ b/dev-lang/starlark-rust/files/test/features.bash
@@ -0,0 +1,193 @@
+#!/usr/bin/env bash
+
+# shellcheck disable=SC2034
+STARLARK_RUST_EXPECTED_functions=(
+ any
+ dir
+ fail
+ getattr
+ hasattr
+ hash
+ len
+ max
+ min
+ print
+ range
+ repr
+ reversed
+ sorted
+ type
+ zip
+)
+
+# shellcheck disable=SC2034
+STARLARK_RUST_EXPECTED_types=(
+ bool
+ int
+ list
+ str
+ tuple
+ dict
+)
+
+# shellcheck disable=SC2034
+STARLARK_RUST_EXPECTED_dict_methods=(
+ clear
+ get
+ items
+ keys
+ pop
+ popitem
+ setdefault
+ update
+ values
+)
+
+# shellcheck disable=SC2034
+STARLARK_RUST_EXPECTED_list_methods=(
+ append
+ clear
+ extend
+ index
+ insert
+ pop
+ remove
+)
+
+# shellcheck disable=SC2034
+STARLARK_RUST_EXPECTED_str_methods=(
+ capitalize
+ count
+ elems
+ endswith
+ find
+ format
+ index
+ isalnum
+ isalpha
+ isdigit
+ islower
+ isspace
+ istitle
+ isupper
+ join
+ lower
+ lstrip
+ partition
+ replace
+ rfind
+ rindex
+ rpartition
+ rsplit
+ rstrip
+ split
+ splitlines
+ startswith
+ strip
+ title
+ upper
+)
+
+_test-features_execute-test() {
+ local error_msg test_title=$1 test_stdin=$2 exp_stdout=$3 exp_stderr=$4 exp_exitcode=$5
+ ebegin "$test_title"
+ error_msg=$(
+ stderr_file=$(mktemp) || exit
+ cleanup() { rm -f "$stderr_file"; }
+ trap cleanup EXIT
+
+ test_stdout=$("$starlark_binary" -i --json <<< "$test_stdin" 2>"$stderr_file")
+ test_exitcode=$?
+
+ if (( test_exitcode != exp_exitcode )); then
+ echo "unexpected exit code \"$test_exitcode\", expected exit code \"$exp_exitcode\" for test_stdin: $test_stdin"
+ exit 1
+ elif [[ "$test_stdout" != "$exp_stdout" ]]; then
+ echo "unexpected stdout \"$test_stdout\", expected stdout \"$exp_stdout\" for test_stdin: $test_stdin"
+ exit 1
+ elif [[ $(< "$stderr_file") != "$exp_stderr" ]]; then
+ echo "unexpected stderr \"$(< "$stderr_file")\", expected stderr \"$exp_stderr\" for test_stdin: $test_stdin"
+ exit 1
+ fi
+ exit 0
+ )
+ eend $? "$error_msg"
+
+ # shellcheck disable=SC2015
+ [[ $error_msg ]] && failures+=("$error_msg") || (( successes += 1 ))
+}
+
+test-features_main() {
+ local starlark_binary=$1
+ local failures=() successes=0
+ local banner_width=45
+
+ local attr attr_type test_case
+ for attr_type in function type; do
+ printf -- '\n\n' >&2
+ printf -- '%s\n' "Checking for existence of expected ${attr_type}s" >&2
+ eval "printf -- '=%.0s' {1..${banner_width}}" >&2
+ echo >&2
+ while read -r attr; do
+ test_case=(
+ "$attr"
+ "$attr and print('$attr exists')"
+ "$attr exists"
+ ""
+ 0
+ )
+ _test-features_execute-test "${test_case[@]}"
+ done < <(eval "printf -- '%s\n' \"\${STARLARK_RUST_EXPECTED_${attr_type}s[@]}\"")
+ done
+
+ local attr attr_type test_case type_literal
+ for attr_type in dict list str; do
+ printf -- '\n\n' >&2
+ printf -- '%s\n' "Checking ${attr_type} built-in methods" >&2
+ eval "printf -- '=%.0s' {1..${banner_width}}" >&2
+ echo >&2
+
+ case $attr_type in
+ str)
+ type_literal='""'
+ ;;
+ *)
+ type_literal="$attr_type()"
+ ;;
+ esac
+
+ while read -r attr; do
+ test_case=(
+ "$attr_type.$attr"
+ "hasattr($type_literal, \"$attr\") and print('$attr method exists')"
+ "$attr method exists"
+ ""
+ 0
+ )
+ _test-features_execute-test "${test_case[@]}"
+ done < <(eval "printf -- '%s\n' \"\${STARLARK_RUST_EXPECTED_${attr_type}_methods[@]}\"")
+ done
+
+ printf -- '\n\n' >&2
+ printf -- '%s\n' "Checking for miscellaneous starlark features" >&2
+ eval "printf -- '=%.0s' {1..${banner_width}}" >&2
+ printf -- '\n\n' >&2
+
+ test_case=(
+ 'list comprehension'
+ '[print("output from list comprehension") for i in range(0, 1) if (i == 0 and True) or not False]'
+ 'output from list comprehension'
+ ""
+ 0
+ )
+ _test-features_execute-test "${test_case[@]}"
+ printf -- '\n\n' >&2
+
+ if (( ${#failures[@]} > 0 )); then
+ echo "${#failures[@]} test (s) failed" >&2
+ return 1
+ elif (( successes == 0 )); then
+ echo "no tests ran" >&2
+ return 1
+ fi
+}
diff --git a/dev-lang/starlark-rust/starlark-rust-0.4.0.ebuild b/dev-lang/starlark-rust/starlark-rust-0.4.0.ebuild
index 23f6be897226..6edd58cd1329 100644
--- a/dev-lang/starlark-rust/starlark-rust-0.4.0.ebuild
+++ b/dev-lang/starlark-rust/starlark-rust-0.4.0.ebuild
@@ -172,7 +172,6 @@ LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
-RESTRICT+=" test"
# Nightly rust-1.53.0 required for https://bugs.gentoo.org/796824
BDEPEND="${RUST_DEPEND}
@@ -184,6 +183,11 @@ src_prepare() {
default
}
+src_test() {
+ source "${FILESDIR}/test/features.bash" || die
+ test-features_main "${PWD}/target/release/starlark" || die
+}
+
src_install() {
dobin target/release/starlark
ln "${ED}/usr/bin/starlark"{,-rust} || die