diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-02-10 00:12:21 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-02-10 00:12:21 +0000 |
commit | 3a81cede4783e464b7485722b2eaac0280dbc570 (patch) | |
tree | 261618bfbe562244c237d48a7960d4952bc6b318 /dev-lang | |
parent | b95a6fd4a7b591baa7cfc689f8ce5643592d07be (diff) |
gentoo auto-resync : 10:02:2025 - 00:12:20
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/Manifest.gz | bin | 22651 -> 22659 bytes | |||
-rw-r--r-- | dev-lang/crystal/Manifest | 3 | ||||
-rw-r--r-- | dev-lang/crystal/crystal-1.15.1.ebuild | 126 | ||||
-rw-r--r-- | dev-lang/dafny/Manifest | 3 | ||||
-rw-r--r-- | dev-lang/dafny/dafny-4.10.0.ebuild | 627 | ||||
-rw-r--r-- | dev-lang/nim/Manifest | 3 | ||||
-rw-r--r-- | dev-lang/nim/files/nim-2.2.2-testament-skipfile.txt | 87 | ||||
-rw-r--r-- | dev-lang/nim/nim-2.2.2.ebuild | 188 | ||||
-rw-r--r-- | dev-lang/nprolog/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/nprolog/nprolog-3.90.ebuild | 58 | ||||
-rw-r--r-- | dev-lang/spidermonkey/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/spidermonkey/spidermonkey-128.7.0.ebuild | 473 |
12 files changed, 1572 insertions, 0 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz Binary files differindex 71056208cc0c..3113c3b74231 100644 --- a/dev-lang/Manifest.gz +++ b/dev-lang/Manifest.gz diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest index a107aa8cf01a..134a2a1629b6 100644 --- a/dev-lang/crystal/Manifest +++ b/dev-lang/crystal/Manifest @@ -8,7 +8,10 @@ DIST crystal-1.14.1-3-linux-x86_64.tar.gz 51717984 BLAKE2B da2f977d8a81abb6085ea DIST crystal-1.14.1.tar.gz 3726868 BLAKE2B add2e478c3dbb5f8fce77c8dfb781858a1074e411f6899997052fd5f037fc6dcb86dd4f2aba432301912cac645dfaad4e916112c4d47c8247a9ea681270f945d SHA512 f16ba4e2b41ee9c1a4ef98bd026d843e7c8f831c592a919d79b3addea4647eea0eefefc8e964e1e187b8bfb0aed0829e2f5f5b120e3116a359616c0c043f9d3c DIST crystal-1.15.0-1-linux-x86_64.tar.gz 51497623 BLAKE2B 03059b38b1df3a035c82472f0691c3b37d9b82ae90e0cae922a36c069750e5d00444dc5759fd5cefee294fbde20b17aac233323067256caf161ef542d27e51d5 SHA512 ee0a85d98fd1170c97380184bd845cafd426765bf633d0d26885e970a5e15241d76a93a11c1a207ddedef9a1d76978e5f32be17b074cd3c03c3f5cc5b7e064b9 DIST crystal-1.15.0.gh.tar.gz 3812860 BLAKE2B a6b52007d6a4975d2011104f65cec932300bb6f84f497bfda138d987e844cb025d4690b0f74335aff42295c5d355ac73371cab86db87ca9819c1885d98f76bd8 SHA512 ea07de4b9c6c46e96f05d816d0504f8b0206e89fe7e4236038dc3b0875e52e89c711cc798b8fc30f66b02dd48cec70e0ea76160f14447577761411a41f1b28fa +DIST crystal-1.15.1-1-linux-x86_64.tar.gz 51499223 BLAKE2B 11f94a67c97215f410c4a5987abaaa34d1264cdb4340a34223843e33152697125de05acc1a47604bb85456e1fd507fc854f38498adcc7b19492cb87c160184db SHA512 94faf3859212f0b9b80b4f2ce46bfa8a90cbf9d2c71f0127453baeff6ca8d1d76cde36d9af2c7bb6019e809de08e8eafdc39cc2621695d05c612d2fc8765f303 +DIST crystal-1.15.1.gh.tar.gz 3814922 BLAKE2B 0667e93e3c2b7b80d44347377303195161bfee1709fa64e78fd978cc3409813836542642ac04054d94bf280828a29e592af6db8fdbd4a7bf8f04e8ef62ca209e SHA512 3c552bf4acb06a5e0e3adae2a22cc42c8a003b91a3c9f2ce4cc80d790f5981e94178ad0667504f4d709dfa3f1bc9505ef8ae42b8eb79489f4d1396bd9fc456ff EBUILD crystal-1.14.0.ebuild 2632 BLAKE2B 6284e97c98096fd14101a4308d2db3eb265d26241f181658ee24615622ef3686c4a79b47d58536b127c035dece0e63f1ae35f6605af7b73f362a166307810f80 SHA512 e27bb51f2dd874cb8633ed0ad594aaa512676d841a9d1fd991169a54595c73ee4ff40f665df0b5d4a012a43f85ad5a90480e59b547ae42a77a204be545716579 EBUILD crystal-1.14.1.ebuild 2633 BLAKE2B 1945457158a0d549f5be113342d47b3919af5bd80030f8ac3b4a0279a1054c11b440aa130e616eb6fde27b9217dc453623d2b1e32f2e0abe0997a15564dd3a6f SHA512 61d9dba45711ccbadf279d53923c6c543d01ca6d2d3c5fa13cf105d16ab9d67e64a44fc9f609106eac0b470dd0ff263ad8eff1b90f30e4de2e7d354ead4ceb20 EBUILD crystal-1.15.0-r1.ebuild 2785 BLAKE2B cf0495de84b1af4d292bd05c153db8a1412dcfed2a4bef00abd4c6b984d368b822f162c09ab0177f0b070e39aae2cbfc3582630c51f6f7bfe4a9c6efa83b406e SHA512 5333b4f5456ab7a58c3df1669627dae50e9a82ab71c77ddf564fba73e3d182c29721a7ac624b3e1ab0584f79097d6ca37f0c313b420d29507aedafb4c1de7b94 +EBUILD crystal-1.15.1.ebuild 2785 BLAKE2B cf0495de84b1af4d292bd05c153db8a1412dcfed2a4bef00abd4c6b984d368b822f162c09ab0177f0b070e39aae2cbfc3582630c51f6f7bfe4a9c6efa83b406e SHA512 5333b4f5456ab7a58c3df1669627dae50e9a82ab71c77ddf564fba73e3d182c29721a7ac624b3e1ab0584f79097d6ca37f0c313b420d29507aedafb4c1de7b94 MISC metadata.xml 762 BLAKE2B 591f38c882318a6564501cc61abe6222264b65adeaffaf3b23d959ee86b83bae33eaf99029229705f92070fa539fd6d63d8242afc38475904483a9a0b997effd SHA512 ea223d568a3c336a43b183efc61bd1f1a9d1e5e0e8d963275e0b23ee879551bc7d8aae797b1e2edba49d119ad306692599eb535c5d164ebee0c6721dfeab78dc diff --git a/dev-lang/crystal/crystal-1.15.1.ebuild b/dev-lang/crystal/crystal-1.15.1.ebuild new file mode 100644 index 000000000000..573dc999fa39 --- /dev/null +++ b/dev-lang/crystal/crystal-1.15.1.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +BV="${PV}-1" +BV_AMD64="${BV}-linux-x86_64" + +LLVM_COMPAT=( {18..19} ) + +inherit llvm-r1 multiprocessing shell-completion toolchain-funcs + +DESCRIPTION="The Crystal Programming Language" +HOMEPAGE="https://crystal-lang.org/ + https://github.com/crystal-lang/crystal/" +SRC_URI=" + https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + amd64? ( + https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz + ) +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc debug llvm-libunwind" +RESTRICT="test" # Upstream test suite not reliable. + +DEPEND=" + dev-libs/boehm-gc:=[threads] + dev-libs/gmp:= + dev-libs/libatomic_ops:= + dev-libs/libevent:= + dev-libs/libpcre2:=[unicode] + dev-libs/pcl:= + $(llvm_gen_dep ' + llvm-core/llvm:${LLVM_SLOT}= + ') + llvm-libunwind? ( + llvm-runtimes/libunwind:= + ) + !llvm-libunwind? ( + sys-libs/libunwind:= + ) +" +RDEPEND=" + ${DEPEND} + dev-libs/libxml2 + dev-libs/libyaml +" + +PATCHES=( + "${FILESDIR}/${PN}-0.27.0-gentoo-tests-long-unix.patch" + "${FILESDIR}/${PN}-0.27.0-gentoo-tests-long-unix-2.patch" + "${FILESDIR}/${PN}-1.15.0-remove-enviroment-clearing-tests.patch" +) + +src_prepare() { + default + + # Link against system boehm-gc instead of upstream prebuilt static library + # bug #929123, #929989 and #931100 + # https://github.com/crystal-lang/crystal/issues/12035#issuecomment-2522606612 + rm "${WORKDIR}/crystal-${BV}"/lib/crystal/libgc.a || die +} + +src_configure() { + local bootstrap_path="${WORKDIR}/${PN}-${BV}/bin" + if [[ ! -d "${bootstrap_path}" ]] ; then + eerror "Binary tarball does not contain expected directory:" + die "'${bootstrap_path}' path does not exist." + fi + + # crystal uses 'LLVM_TARGETS' to override default list of targets + unset LLVM_TARGETS + + MY_EMAKE_COMMON_ARGS=( + PATH="${bootstrap_path}:${PATH}" + + CRYSTAL_CONFIG_VERSION="${PV}" + CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal" + + $(usex debug "" release=1) + progress=true + stats=1 + threads="$(makeopts_jobs)" + verbose=1 + check_lld= # disable opportunistic lld + + AR="$(tc-getAR)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + LLVM_CONFIG="$(get_llvm_prefix -d)/bin/llvm-config" + ) +} + +src_compile() { + emake "${MY_EMAKE_COMMON_ARGS[@]}" + + use doc && emake docs "${MY_EMAKE_COMMON_ARGS[@]}" +} + +src_test() { + emake std_spec "${MY_EMAKE_COMMON_ARGS[@]}" +} + +src_install() { + insinto "/usr/$(get_libdir)/crystal" + doins -r src/. + + exeinto /usr/bin + doexe .build/crystal + + newzshcomp etc/completion.zsh _crystal + newfishcomp etc/completion.fish crystal.fish + + dodoc -r samples + doman "man/${PN}.1" + newbashcomp etc/completion.bash "${PN}" + + if use doc ; then + docinto api + dodoc -r docs/. + fi +} diff --git a/dev-lang/dafny/Manifest b/dev-lang/dafny/Manifest index 4d97ff4ef4ef..d89b5f046909 100644 --- a/dev-lang/dafny/Manifest +++ b/dev-lang/dafny/Manifest @@ -58,6 +58,7 @@ DIST castle.core.4.4.0.nupkg 916004 BLAKE2B 7404f946c140bc4c22132282a4a12694328b DIST commandlineparser.2.8.0.nupkg 475554 BLAKE2B e55eda3a96441169220e5b081f432d8445d719cbcf8e86527920d44085e6e97934e20aa0266bc5dbdc16ba1a6daa6ece55bc2c63266c9d733ab4992f2fe3e0a1 SHA512 8c276513dfe91e5bc72cfb3b96a0d24411ee3bd2e9832d423f6ade3f3964a011dbb977ca90601750fa133a0a25fe72f66955be7f69a72f5d6b73c7f313094b5f DIST commandlineparser.2.9.1.nupkg 496069 BLAKE2B e2c4b38841f83d6bc10432b8055af90369f1fe0a10105a58b51b44cd48e5d84cb0b5e4b19f444d8c81b38646a62c7c4d11cbd710e92fea68be3ebea6ab98e3f1 SHA512 4f364e45c9668c7e7cc6a922b488f3fa523033c20d7a432694f0a6af05ce528ea0481d8375e2f4f1032c6990347b4803ce9a0e48068c6fe15ec46fb1254f085d DIST coverlet.collector.3.2.0.nupkg 2209480 BLAKE2B 175bcfcb9d6e5177d44f2d607f2411cbe77d6009d096bbc84372e33d7be972d3e39ec39d7f2669b4b91f4bcf44f6ddd46bc91541c0cc4843426e2dd1073bf5c2 SHA512 b63d02a5d3233805b42f0b8cc76f40c8d9f5a0117beb6bdb2ab147f5521bb99919b29d51ff91767ce0bfcab92d25fc8fe794133cadc60da3e009ae18d10fc920 +DIST dafny-4.10.0.tar.gz 6815686 BLAKE2B e6054cd38cbc4edcdb2e6848efd6f09df6b5be7abb22bd9e47d35c71a6d046aee4a10bdefe840d883151b66b4d8075053ba14b5f038d7b1b8104bf40ccc56791 SHA512 fcd3499e4a626db638d2cb1d9c3ed221b559d339171f316c937298ed4c916ddf548ec3a0168b85fbb442e51406040b084799f9770b85c5b836d925568e272cad DIST dafny-4.8.0.tar.gz 6615281 BLAKE2B d891a1955554b194e7af231eff9368549bd2686b43dc1aca8034df4502b7b57297a8384db990ca3268bf992ce2ea562d02d936617b0788a58705d2b0cd91aa98 SHA512 8194f2544b411e00874b174ae4036d6ff21e516e342b3ddd9bc00e70a8140037e5a35f10ef797336b1d4f471ea1596829f0d5446d6a93e436690753dc9b19a31 DIST dafny-4.8.1.tar.gz 6693520 BLAKE2B 4cceaba7aec5809c6f714bc5f79fd92656ec0c30e9188aecb5d153575ab06a244fbc248f91ae64e2e1e9ea15914ebc408ebf2ce197edeac8e021770499d3779f SHA512 cfbeb9d36ee9f63c703048fb8497a54df040d96a3e9d5ee208bb2f6a0795416e49b34ec08052f568b7c50d0a892dc6139c01a2310adbd63d347ddec61c79b56b DIST dafny-4.9.0.tar.gz 6733045 BLAKE2B a13eb0716eb6449c8145b25261d97539b04a6310ba24f3dba30938adc46da99b52016e44683bd7521a66cb11e03b92972dee3da6377bc13c6f519f44a91d6c81 SHA512 3d7493467db5006df02fb912d562a7109b225e7eb33e36b02fcb4ddca8cb4353464f668d578017226a22ffed7dac10424dc8fbd73ee13c8108e3bde219562884 @@ -376,6 +377,7 @@ DIST system.xml.xdocument.4.0.11.nupkg 591353 BLAKE2B 8373fa19c6aafbe6e347db7bb1 DIST system.xml.xdocument.4.3.0.nupkg 591350 BLAKE2B 86f910cef36c056f4a9ea9dc26eea6e01070467d27ac80fb8a0af5e1a572ad5d2169e4f1297cd362fddc9e0309458dbd413fca85ef8e56f97781c218e594604a SHA512 c2d9236a696daf23a29b530b9aa510fb813041685a1bb9a95845a51e61d870a0615e988b150f5be0d0896ef94b123e97f96c8a43ee815cf5b9897593986b1113 DIST system.xml.xmldocument.4.3.0.nupkg 285212 BLAKE2B 0d96ca356543e8e915597e0624dca42f0c7032a2ae9e380a6fba3fbee0dacb9e5f06017893b2b7a8b937dbb4de7d5665fa6648e3bf8df12e0d34e4075c125109 SHA512 22251b3f16de9aa06e091b24baea1b8c95752f0d22266faf34e1fb76b347b23f7910cdaf567058e23d06b7079961090ca70805070a2491add5da4d0271afd133 DIST tomlyn.0.16.2.nupkg 146842 BLAKE2B 5292d6abae6eb514d6a0cf7b69e9ab47599fc1540c83a9861985293267c8137f856a1ec573d7f3b327c9a383905de4572f54d03c889951227549cc1bb8979f78 SHA512 69a4f67cd9a9cf593f79fd8cc0530a030a24a9a04e5b67ba39460668e5125d6859f54f3a3d485ec1e8d0be996f14ef14fb9e380e63c6e648bd1141dc31c58141 +DIST tomlyn.0.17.0.nupkg 147066 BLAKE2B d5507882a8e5f7bd7f2e30c3a4aab342046c0339b884b6527a9e616cd48c603aa97ed411a63cf1e92852994c9dc2768f35edb5854aa5b21f865b17783fc43ba5 SHA512 0dd5717101262fd7833cbb74ab5b95f0f39e39d2b32c90775d6e54359643d17d5c1675b9ef65260b01f5b89c81c3d446ae3bffd598b0a53e6b3a10149f9e01fb DIST validation.2.4.18.nupkg 90984 BLAKE2B 3f319bd60a0b1d6b6d08188b1132c01fd417d7e205bc587edd7ffa0dfba4dc01b9e956df46ef03b0f909ff5b9a859a9620d1ededd8eef21fb6522aab2f12f1f2 SHA512 b49e4b992b40bb656821a7a6dd67fe464af14f0781cf677f58412d108678963f9f9347bd2e1091343c1aa522148ea187a25b45ef0eae5e7ffeb8f833396fcff2 DIST xunit.2.4.1.nupkg 20733 BLAKE2B ee83156610dc4ade1f15c05d97725e1913a9dde04e474c11fe396c37df5d438ab934776e4660d3d139fe34949eb890dae67c0145d3815a8a25cc976b9d2cca7b SHA512 3b0061a5ecfd49166f123aa27375956c00aedb0b22f6ee6a8be629cd583a0532f7476e51ffacad3385245139f1f9d4990c9dc850fc7ef7d097fd85e7c6b40058 DIST xunit.2.4.2.nupkg 25547 BLAKE2B bc9bc5049e9feaa9b658ff11ad3ed277c43089b5c341768425d401b98f5ca212d3f3828232a58716f7ea75e39007fb8ee04498208afed60d28e91ecfff31f1d6 SHA512 f57b8d3bbd04cc285c7913b5697a1b00cf0d6f2c70e35a592d61c8c866d79f3f6a913fa933b39224484bba439e6eee0ab917bf66cd19cbcb1dc3731437556c48 @@ -397,6 +399,7 @@ DIST xunit.extensibility.execution.2.4.2.nupkg 353652 BLAKE2B f10e20d43b8030f51c DIST xunit.runner.visualstudio.2.4.3.nupkg 809588 BLAKE2B ce18ac895657d1efa9752e44148812a452401fa06eba913dad716cfd6743d85a09ffbc0be52276a4b90d039ab76077cca7ab5316b73009aeff2b2fe77dc465f1 SHA512 d8b0d124425db24f98335b332fe55e1a08b39af55d8834dd4a2717fd4be45f3a06ae6cb16427a17adfb31e215dab622856152bb2da715acb1946ec9e935299f4 DIST xunit.runner.visualstudio.2.5.1.nupkg 348549 BLAKE2B 530ffc6b699a1589ad6a7fb5aa826d7238b63ea8dcd13ce5705a3d29a0ba70edeac2d9950cd1a00a13a779add761e4e14335689051a43b4cd662a330734e4df7 SHA512 0cc7887e7c7c3315db31aab79df236db9b5542e0234c27543dd5b11cf917674a8fdebc384e7331663b08d586fcf20628479a20ad7edbed4e61667903e812c6f0 DIST xunit.skippablefact.1.4.8.nupkg 44542 BLAKE2B 3c9b09d5196e8901770099b2e5078d9373e8ebc2da058a9071707d6fee56eab7c876578734f3be5b088db6ae83c8ad81a3aadfcab38e1fd2b28bd25601fe5463 SHA512 a2c680223bda4f9bfdbd751c8d6a5319e0a4611533272860ca0a396b26c473a13065301a5d8973074ea2bb5119caaeec5a67d547a96ae5d762dc09f337f51ad1 +EBUILD dafny-4.10.0.ebuild 18906 BLAKE2B 4c281146c319832cd7c917765d64fe469851bc4bc82cac1070a2687629ab025f068dcc34b8dba79347da790c567803bfdadd314dd240fa6f78082074516d60ed SHA512 005bccb059dd6a7bc0afbbdbea114fe8b01e210b9fa45fe0445cad6a0ec2e730aac9eed697224591f509a9f29047789377faece8ce7a67b4303015657544f580 EBUILD dafny-4.8.0.ebuild 21093 BLAKE2B f3bc2e1080b1a4f47d6dfcfb8ff4284f1c78b165995933058b2ab4898f414de563ffb4daf057a2abdd757f9c12cc9abb3151872c68e073f08f38d6aa73cb8bcd SHA512 0163a7991f085cae600e9c85b5b9dd2a5e48cf8f6618a334e165c4b81469f8fc747172d9b8af829b43b202f7ccdf796eb340e111f203f32d76f68a58aa45bdd9 EBUILD dafny-4.8.1.ebuild 21158 BLAKE2B 6dca483a23d848a297a17157f8c475d9903cfaee1b3509324bdff1c65a2513b849edeeb67856fbedb7b4545541828168a49760c275672ef33cfd5b11019de56c SHA512 994ffdccde2dadd0c02d5e60c73f58e32cb5d57c547b34ee8aa1566187b914e7514b383f2997d1171a2bc672892d26c2ab5b047444ac3ea1963429ce622651d3 EBUILD dafny-4.9.0.ebuild 20390 BLAKE2B e7d426bf27fa8cd4747c6c8e838a79942b24d4ff04f5e0d8c3f64e3ea07551756f18ec465fd83da6fad8d98a47c2a2f8551557e9dbfc819b176fbb843cb889e5 SHA512 6f559f88ff05e9b09c19dd400fd9e7ed9fe675269380b5389f0414d3efd523b34fb7ec53ad597e97bf5fc54bbfc0233784326bb4613e4fd2bff5c27b41104480 diff --git a/dev-lang/dafny/dafny-4.10.0.ebuild b/dev-lang/dafny/dafny-4.10.0.ebuild new file mode 100644 index 000000000000..4943c4a1f162 --- /dev/null +++ b/dev-lang/dafny/dafny-4.10.0.ebuild @@ -0,0 +1,627 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) + +DOTNET_PKG_COMPAT="8.0" +NUGETS=" +boogie.abstractinterpretation@3.4.3 +boogie.basetypes@3.4.3 +boogie.codecontractsextender@3.4.3 +boogie.concurrency@3.4.3 +boogie.core@3.4.3 +boogie.executionengine@3.4.3 +boogie.graph@3.4.3 +boogie.houdini@3.4.3 +boogie.model@3.4.3 +boogie.provers.leanauto@3.4.3 +boogie.provers.smtlib@3.4.3 +boogie.vcexpr@3.4.3 +boogie.vcgeneration@3.4.3 +castle.core@4.4.0 +commandlineparser@2.8.0 +commandlineparser@2.9.1 +coverlet.collector@3.2.0 +diffplex@1.7.0 +humanizer.core@2.2.0 +jetbrains.annotations@2021.1.0 +mediatr@8.1.0 +microsoft.bcl.asyncinterfaces@1.1.1 +microsoft.bcl.asyncinterfaces@5.0.0 +microsoft.bcl.asyncinterfaces@6.0.0 +microsoft.build.framework@17.0.0 +microsoft.build.locator@1.4.1 +microsoft.build.tasks.core@17.0.0 +microsoft.build.utilities.core@17.0.0 +microsoft.build@17.0.0 +microsoft.codeanalysis.analyzers@3.0.0 +microsoft.codeanalysis.analyzers@3.3.2 +microsoft.codeanalysis.common@3.7.0 +microsoft.codeanalysis.common@4.0.1 +microsoft.codeanalysis.csharp.workspaces@4.0.1 +microsoft.codeanalysis.csharp@3.7.0 +microsoft.codeanalysis.csharp@4.0.1 +microsoft.codeanalysis.visualbasic.workspaces@4.0.1 +microsoft.codeanalysis.visualbasic@4.0.1 +microsoft.codeanalysis.workspaces.common@4.0.1 +microsoft.codeanalysis.workspaces.msbuild@4.0.1 +microsoft.codeanalysis@4.0.1 +microsoft.codecoverage@16.11.0 +microsoft.codecoverage@16.9.4 +microsoft.codecoverage@17.1.0 +microsoft.csharp@4.0.1 +microsoft.dotnet.platformabstractions@2.0.4 +microsoft.extensions.configuration.abstractions@2.0.0 +microsoft.extensions.configuration.abstractions@5.0.0 +microsoft.extensions.configuration.binder@2.0.0 +microsoft.extensions.configuration.binder@5.0.0 +microsoft.extensions.configuration.commandline@5.0.0 +microsoft.extensions.configuration.fileextensions@5.0.0 +microsoft.extensions.configuration.json@5.0.0 +microsoft.extensions.configuration@2.0.0 +microsoft.extensions.configuration@5.0.0 +microsoft.extensions.dependencyinjection.abstractions@2.0.0 +microsoft.extensions.dependencyinjection.abstractions@5.0.0 +microsoft.extensions.dependencyinjection@2.0.0 +microsoft.extensions.dependencyinjection@5.0.0 +microsoft.extensions.dependencymodel@2.0.4 +microsoft.extensions.fileproviders.abstractions@5.0.0 +microsoft.extensions.fileproviders.physical@5.0.0 +microsoft.extensions.filesystemglobbing@5.0.0 +microsoft.extensions.logging.abstractions@2.0.0 +microsoft.extensions.logging.abstractions@5.0.0 +microsoft.extensions.logging.configuration@5.0.0 +microsoft.extensions.logging.console@5.0.0 +microsoft.extensions.logging@2.0.0 +microsoft.extensions.logging@5.0.0 +microsoft.extensions.options.configurationextensions@2.0.0 +microsoft.extensions.options.configurationextensions@5.0.0 +microsoft.extensions.options@2.0.0 +microsoft.extensions.options@5.0.0 +microsoft.extensions.primitives@2.0.0 +microsoft.extensions.primitives@5.0.0 +microsoft.net.stringtools@1.0.0 +microsoft.net.test.sdk@16.11.0 +microsoft.net.test.sdk@16.9.4 +microsoft.net.test.sdk@17.1.0 +microsoft.netcore.platforms@1.0.1 +microsoft.netcore.platforms@1.1.0 +microsoft.netcore.platforms@2.1.2 +microsoft.netcore.platforms@3.0.0 +microsoft.netcore.platforms@3.1.0 +microsoft.netcore.targets@1.0.1 +microsoft.netcore.targets@1.1.0 +microsoft.netframework.referenceassemblies.net452@1.0.2 +microsoft.netframework.referenceassemblies.net452@1.0.3 +microsoft.netframework.referenceassemblies@1.0.2 +microsoft.netframework.referenceassemblies@1.0.3 +microsoft.testplatform.extensions.trxlogger@17.9.0 +microsoft.testplatform.objectmodel@16.11.0 +microsoft.testplatform.objectmodel@16.9.4 +microsoft.testplatform.objectmodel@17.1.0 +microsoft.testplatform.objectmodel@17.9.0 +microsoft.testplatform.testhost@16.11.0 +microsoft.testplatform.testhost@16.9.4 +microsoft.testplatform.testhost@17.1.0 +microsoft.testplatform.testhost@17.9.0 +microsoft.visualstudio.threading.analyzers@16.7.56 +microsoft.visualstudio.threading@16.7.56 +microsoft.visualstudio.validation@15.5.31 +microsoft.win32.primitives@4.3.0 +microsoft.win32.registry@4.3.0 +microsoft.win32.registry@4.6.0 +microsoft.win32.systemevents@4.7.0 +microsoft.win32.systemevents@6.0.0 +moq@4.16.1 +nerdbank.streams@2.6.81 +netstandard.library@1.6.1 +netstandard.library@2.0.3 +newtonsoft.json@11.0.2 +newtonsoft.json@13.0.1 +newtonsoft.json@9.0.1 +nuget.frameworks@5.0.0 +nuget.frameworks@5.11.0 +omnisharp.extensions.jsonrpc.generators@0.19.5 +omnisharp.extensions.jsonrpc.testing@0.19.5 +omnisharp.extensions.jsonrpc@0.19.5 +omnisharp.extensions.languageclient@0.19.5 +omnisharp.extensions.languageprotocol.testing@0.19.5 +omnisharp.extensions.languageprotocol@0.19.5 +omnisharp.extensions.languageserver.shared@0.19.5 +omnisharp.extensions.languageserver@0.19.5 +rangetree@3.0.1 +runtime.any.system.collections@4.3.0 +runtime.any.system.diagnostics.tools@4.3.0 +runtime.any.system.diagnostics.tracing@4.3.0 +runtime.any.system.globalization.calendars@4.3.0 +runtime.any.system.globalization@4.3.0 +runtime.any.system.io@4.3.0 +runtime.any.system.reflection.extensions@4.3.0 +runtime.any.system.reflection.primitives@4.3.0 +runtime.any.system.reflection@4.3.0 +runtime.any.system.resources.resourcemanager@4.3.0 +runtime.any.system.runtime.handles@4.3.0 +runtime.any.system.runtime.interopservices@4.3.0 +runtime.any.system.runtime@4.3.0 +runtime.any.system.text.encoding.extensions@4.3.0 +runtime.any.system.text.encoding@4.3.0 +runtime.any.system.threading.tasks@4.3.0 +runtime.any.system.threading.timer@4.3.0 +runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.native.system.io.compression@4.3.0 +runtime.native.system.net.http@4.3.0 +runtime.native.system.security.cryptography.apple@4.3.0 +runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.native.system@4.0.0 +runtime.native.system@4.3.0 +runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple@4.3.0 +runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0 +runtime.unix.microsoft.win32.primitives@4.3.0 +runtime.unix.system.console@4.3.0 +runtime.unix.system.diagnostics.debug@4.3.0 +runtime.unix.system.io.filesystem@4.3.0 +runtime.unix.system.net.primitives@4.3.0 +runtime.unix.system.net.sockets@4.3.0 +runtime.unix.system.private.uri@4.3.0 +runtime.unix.system.runtime.extensions@4.3.0 +serilog.extensions.logging@3.0.1 +serilog.settings.configuration@3.1.0 +serilog.sinks.debug@2.0.0 +serilog.sinks.file@5.0.0 +serilog.sinks.inmemory@0.11.0 +serilog@2.12.0 +system.appcontext@4.1.0 +system.appcontext@4.3.0 +system.buffers@4.3.0 +system.buffers@4.4.0 +system.codedom@4.4.0 +system.collections.concurrent@4.3.0 +system.collections.immutable@1.5.0 +system.collections.immutable@1.7.0 +system.collections.immutable@1.7.1 +system.collections.immutable@5.0.0 +system.collections.nongeneric@4.3.0 +system.collections.specialized@4.3.0 +system.collections@4.0.11 +system.collections@4.3.0 +system.commandline@2.0.0-beta4.22272.1 +system.componentmodel.primitives@4.3.0 +system.componentmodel.typeconverter@4.3.0 +system.componentmodel@4.3.0 +system.composition.attributedmodel@1.0.31 +system.composition.convention@1.0.31 +system.composition.hosting@1.0.31 +system.composition.runtime@1.0.31 +system.composition.typedparts@1.0.31 +system.composition@1.0.31 +system.configuration.configurationmanager@4.7.0 +system.configuration.configurationmanager@6.0.0 +system.console@4.3.0 +system.diagnostics.debug@4.0.11 +system.diagnostics.debug@4.3.0 +system.diagnostics.diagnosticsource@4.3.0 +system.diagnostics.tools@4.0.1 +system.diagnostics.tools@4.3.0 +system.diagnostics.tracesource@4.3.0 +system.diagnostics.tracing@4.3.0 +system.drawing.common@4.7.0 +system.drawing.common@6.0.0 +system.dynamic.runtime@4.0.11 +system.dynamic.runtime@4.3.0 +system.globalization.calendars@4.3.0 +system.globalization.extensions@4.3.0 +system.globalization@4.0.11 +system.globalization@4.3.0 +system.io.compression.zipfile@4.3.0 +system.io.compression@4.3.0 +system.io.filesystem.primitives@4.0.1 +system.io.filesystem.primitives@4.3.0 +system.io.filesystem@4.0.1 +system.io.filesystem@4.3.0 +system.io.pipelines@4.7.3 +system.io.pipelines@5.0.1 +system.io@4.1.0 +system.io@4.3.0 +system.linq.async@6.0.1 +system.linq.expressions@4.1.0 +system.linq.expressions@4.3.0 +system.linq@4.1.0 +system.linq@4.3.0 +system.memory@4.5.3 +system.memory@4.5.4 +system.net.http@4.3.0 +system.net.nameresolution@4.3.0 +system.net.primitives@4.3.0 +system.net.sockets@4.3.0 +system.net.websockets@4.3.0 +system.numerics.vectors@4.4.0 +system.objectmodel@4.0.12 +system.objectmodel@4.3.0 +system.private.uri@4.3.0 +system.reactive@4.4.1 +system.reflection.emit.ilgeneration@4.0.1 +system.reflection.emit.ilgeneration@4.3.0 +system.reflection.emit.lightweight@4.0.1 +system.reflection.emit.lightweight@4.3.0 +system.reflection.emit@4.0.1 +system.reflection.emit@4.3.0 +system.reflection.extensions@4.0.1 +system.reflection.extensions@4.3.0 +system.reflection.metadata@1.6.0 +system.reflection.metadata@5.0.0 +system.reflection.primitives@4.0.1 +system.reflection.primitives@4.3.0 +system.reflection.typeextensions@4.1.0 +system.reflection.typeextensions@4.3.0 +system.reflection@4.1.0 +system.reflection@4.3.0 +system.resources.extensions@4.6.0 +system.resources.resourcemanager@4.0.1 +system.resources.resourcemanager@4.3.0 +system.runtime.caching@6.0.0 +system.runtime.compilerservices.unsafe@4.4.0 +system.runtime.compilerservices.unsafe@4.5.2 +system.runtime.compilerservices.unsafe@4.7.0 +system.runtime.compilerservices.unsafe@4.7.1 +system.runtime.compilerservices.unsafe@5.0.0 +system.runtime.extensions@4.1.0 +system.runtime.extensions@4.3.0 +system.runtime.handles@4.0.1 +system.runtime.handles@4.3.0 +system.runtime.interopservices.runtimeinformation@4.0.0 +system.runtime.interopservices.runtimeinformation@4.3.0 +system.runtime.interopservices@4.1.0 +system.runtime.interopservices@4.3.0 +system.runtime.numerics@4.3.0 +system.runtime.serialization.primitives@4.1.1 +system.runtime@4.1.0 +system.runtime@4.3.0 +system.security.accesscontrol@4.6.0 +system.security.accesscontrol@4.7.0 +system.security.accesscontrol@6.0.0 +system.security.claims@4.3.0 +system.security.cryptography.algorithms@4.3.0 +system.security.cryptography.cng@4.3.0 +system.security.cryptography.cng@4.7.0 +system.security.cryptography.csp@4.3.0 +system.security.cryptography.encoding@4.3.0 +system.security.cryptography.openssl@4.3.0 +system.security.cryptography.pkcs@4.7.0 +system.security.cryptography.primitives@4.3.0 +system.security.cryptography.protecteddata@4.7.0 +system.security.cryptography.protecteddata@6.0.0 +system.security.cryptography.x509certificates@4.3.0 +system.security.cryptography.xml@4.7.0 +system.security.permissions@4.7.0 +system.security.permissions@6.0.0 +system.security.principal.windows@4.3.0 +system.security.principal.windows@4.6.0 +system.security.principal.windows@4.7.0 +system.security.principal@4.3.0 +system.text.encoding.codepages@4.0.1 +system.text.encoding.codepages@4.5.1 +system.text.encoding.extensions@4.0.11 +system.text.encoding.extensions@4.3.0 +system.text.encoding@4.0.11 +system.text.encoding@4.3.0 +system.text.json@4.7.0 +system.text.json@5.0.2 +system.text.regularexpressions@4.1.0 +system.text.regularexpressions@4.3.0 +system.threading.channels@4.7.1 +system.threading.tasks.dataflow@4.9.0 +system.threading.tasks.extensions@4.0.0 +system.threading.tasks.extensions@4.3.0 +system.threading.tasks.extensions@4.5.3 +system.threading.tasks.extensions@4.5.4 +system.threading.tasks@4.0.11 +system.threading.tasks@4.3.0 +system.threading.threadpool@4.3.0 +system.threading.timer@4.3.0 +system.threading@4.0.11 +system.threading@4.3.0 +system.windows.extensions@4.7.0 +system.windows.extensions@6.0.0 +system.xml.readerwriter@4.0.11 +system.xml.readerwriter@4.3.0 +system.xml.xdocument@4.0.11 +system.xml.xdocument@4.3.0 +system.xml.xmldocument@4.3.0 +tomlyn@0.17.0 +validation@2.4.18 +xunit.abstractions@2.0.2 +xunit.abstractions@2.0.3 +xunit.analyzers@0.10.0 +xunit.analyzers@1.0.0 +xunit.assert@2.4.1 +xunit.assert@2.4.2 +xunit.assertmessages@2.4.0 +xunit.core@2.4.1 +xunit.core@2.4.2 +xunit.extensibility.core@2.4.0 +xunit.extensibility.core@2.4.1 +xunit.extensibility.core@2.4.2 +xunit.extensibility.execution@2.4.0 +xunit.extensibility.execution@2.4.1 +xunit.extensibility.execution@2.4.2 +xunit.runner.visualstudio@2.4.3 +xunit.runner.visualstudio@2.5.1 +xunit.skippablefact@1.4.8 +xunit@2.4.1 +xunit@2.4.2 +" + +inherit check-reqs dotnet-pkg edo java-pkg-2 multiprocessing python-any-r1 optfeature + +DESCRIPTION="Dafny is a verification-aware programming language" +HOMEPAGE="https://dafny.org/ + https://github.com/dafny-lang/dafny/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/dafny-lang/${PN}.git" +else + SRC_URI="https://github.com/dafny-lang/${PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz" + + KEYWORDS="~amd64" +fi + +SRC_URI+=" + ${NUGET_URIS} + test? ( + https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz + ) +" + +LICENSE="MIT" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + !dev-lang/dafny-bin + >=virtual/jre-1.8:* + sci-mathematics/z3 +" +DEPEND=" + >=virtual/jdk-1.8:* +" +BDEPEND=" + ${RDEPEND} + dev-dotnet/coco + test? ( + ${PYTHON_DEPS} + >=dev-lang/boogie-3.4.3 + dev-go/go-tools + dev-lang/go + dev-python/outputcheck + dev-python/lit + dev-python/psutil + net-libs/nodejs[npm] + ) +" + +CHECKREQS_DISK_BUILD="2G" +DOTNET_PKG_PROJECTS=( Source/Dafny/Dafny.csproj ) +TEST_S="${S}/Source/IntegrationTests/TestFiles/LitTests/LitTest" + +PATCHES=( + "${FILESDIR}/dafny-3.12.0-DafnyCore-csproj.patch" + "${FILESDIR}/dafny-3.12.0-DafnyRuntime-csproj.patch" + "${FILESDIR}/dafny-4.5.0-lit-config.patch" +) + +DOCS=( + CODE_OF_CONDUCT.md + CONTRIBUTING.md + NOTICES.txt + README.md + RELEASE_NOTES.md + docs/DafnyCheatsheet.pdf + docs/DafnyRef/out/DafnyRef.pdf +) + +pkg_setup() { + # Clean the environment. + unset NPM_CONFIG_USERCONFIG + + if [[ -n "${_JAVA_OPTIONS}" ]] ; then + ewarn "Cleaning _JAVA_OPTIONS because when set compile and test may fail" + + unset _JAVA_OPTIONS + fi + + check-reqs_pkg_setup + dotnet-pkg_pkg_setup + java-pkg-2_pkg_setup + + # We need to set up Python only for running test tools (called via lit). + if use test ; then + python-any-r1_pkg_setup + fi +} + +src_unpack() { + # Unpack manually to skip additional archives, eg "bignumber.js". + nuget_link-system-nugets + nuget_link-nuget-archives + + if [[ -n "${EGIT_REPO_URI}" ]] ; then + git-r3_src_unpack + else + unpack "${P}.tar.gz" + fi +} + +src_prepare() { + dotnet-pkg_src_prepare + + # Update lit's "lit.site.cfg" file. + local dotnet_exec="${DOTNET_PKG_EXECUTABLE} exec ${DOTNET_PKG_OUTPUT}" + local lit_config="${TEST_S}/lit.site.cfg" + + local -a lit_dotnet_run_opts=( + --configuration "${DOTNET_PKG_CONFIGURATION}" + --no-build + --no-restore + --no-self-contained + --runtime "${DOTNET_PKG_RUNTIME}" + ) + sed -i "${lit_config}" \ + -e "s|dotnet run |${DOTNET_PKG_EXECUTABLE} run ${lit_dotnet_run_opts[*]} |g" \ + || die "failed to update ${lit_config}" + + # Using "for-each-compiler" will fail because of Cargo requiring network access. + while read -r test_file ; do + if grep "// RUN: %testDafnyForEachCompiler" "${test_file}" >/dev/null ; then + rm "${test_file}" || die "failed to remove test ${bad_test}" + fi + done < <(find "${TEST_S}" -type f -name "*.dfy") + + # Remove bad tests (recursive). + local -a bad_tests=( + # Unsupported test build (and those that need network access): + comp/rust + + # Following tests fail: + HigherOrderIntrinsicSpecification + VSComp2010 + ast/function.dfy + auditor/TestAuditor.dfy + benchmarks + blogposts + c++ + cli + comp + concurrency + dafny{0,1,3,4} + doofiles + examples + exports + git-issues + gomodule/{multimodule,publishedruntime,singlemodule} + lambdas + metatests + printing + pythonmodule + separate-verification + server + triggers + unicodecharsFalse + verification + vstte2012 + wishlist + ) + local bad_test="" + for bad_test in "${bad_tests[@]}" ; do + if [[ -e "${TEST_S}/${bad_test}" ]] ; then + rm -r "${TEST_S}/${bad_test}" \ + || eerror "failed to remove test ${bad_test}" + else + ewarn "Test file ${bad_test} does not exist" + fi + done +} + +src_configure() { + dotnet-pkg_src_configure + + if use test ; then + dotnet-pkg-base_restore ./Source/TestDafny/TestDafny.csproj + fi +} + +src_compile () { + einfo "Building DafnyRuntimeJava JAR." + local dafny_runtime_java="${S}/Source/DafnyRuntime/DafnyRuntimeJava" + mkdir -p "${dafny_runtime_java}/build/libs/" || die + pushd "${dafny_runtime_java}/build" || die + + ejavac -d ./ $(find "${dafny_runtime_java}/src/main" -type f -name "*.java") + edob jar cvf "DafnyRuntime-${PV}.jar" dafny/* + + cp "DafnyRuntime-${PV}.jar" "${dafny_runtime_java}/build/libs/" || die + popd || die + + # Build main dotnet package. + dotnet-pkg_src_compile + + # Build "TestDafny" without saving artifacts. + if use test ; then + # This is where Dafny test suite expects to find compiled sources. + rm -r ./Binaries || die + cp -r "${DOTNET_PKG_OUTPUT}" ./Binaries || die + + local -a build_test_opts=( + --configuration "${DOTNET_PKG_CONFIGURATION}" + --no-restore + --no-self-contained + --runtime "${DOTNET_PKG_RUNTIME}" + -maxCpuCount:$(makeopts_jobs) + ) + edotnet build "${build_test_opts[@]}" ./Source/TestDafny/TestDafny.csproj + fi +} + +src_test() { + # Dafny GOLang transpiler tests need "goimports" from "/usr/lib/go/bin". + local -x PATH="${EPREFIX}/usr/lib/go/bin:${PATH}" + + einfo "Installing bignumber.js package required for tests using NodeJS." + local -a npm_opts=( + --audit false + --color false + --foreground-scripts + --offline + --progress false + --verbose + ) + edob npm "${npm_opts[@]}" install "${DISTDIR}/bignumber.js-9.1.2.tgz" + + einfo "Starting tests using the lit test tool." + local -a lit_opts=( + --order=lexical + --time-tests + --timeout 1800 # Let one test take no mere than half a hour. + --verbose + --workers="$(makeopts_jobs)" + ) + edo lit "${lit_opts[@]}" "${TEST_S}" +} + +src_install() { + dotnet-pkg-base_install + + local -a dafny_exes=( + Dafny + DafnyDriver + DafnyLanguageServer + DafnyServer + ) + local dafny_exe + for dafny_exe in "${dafny_exes[@]}" ; do + dotnet-pkg-base_dolauncher "/usr/share/${P}/${dafny_exe}" "${dafny_exe}" + done + + dosym -r /usr/bin/Dafny /usr/bin/dafny + dosym -r /usr/bin/DafnyServer /usr/bin/dafny-server + + einstalldocs +} + +pkg_postinst() { + optfeature "Dafny GO language backend" dev-go/go-tools + optfeature "Dafny Rust language backend" dev-lang/rust dev-lang/rust-bin +} diff --git a/dev-lang/nim/Manifest b/dev-lang/nim/Manifest index ad88253a4dbe..764576677e2f 100644 --- a/dev-lang/nim/Manifest +++ b/dev-lang/nim/Manifest @@ -1,9 +1,12 @@ AUX nim-2.0.6-testament-skipfile.txt 2594 BLAKE2B 58af9e632d595e1dc8f6b4fadacf55f10697d75a1ff21a2a6be2feb14eb7e86c27d5fb10737614b2dad3eb7ee3b4a8d76d30ef1c7117e1b7738ca00960450c4c SHA512 940b9ad7eb1debee502568abf30f81970fc431785c3f9b00d8322eaa686f17e6b641e66baaecc7a6ec288076139d180f87978dec24a9ac949e14b5051829228f AUX nim-2.2.0-makefile.patch 308 BLAKE2B 2984a3487838dd65f067eaab54f7ea6ed18f000c97098f735f26df2609b8485fe91c3d1cb2711ca1c987a955f5b340cf90ceffbbc2e5663794fe5ab3239d3c80 SHA512 5de4b4990d050fff655249d8ad11ba316640bb301854c526f7772146289a7505ec3cd59a6b7811a78b4d03b0bca7e70d0c6264ea06b2b59d11a790cbea3dfb0b +AUX nim-2.2.2-testament-skipfile.txt 2662 BLAKE2B 0011401b582e713fdb4b51e90e667228db0a0c16c8ffba31aa68889a643a9e1a2ca9acf52945690ed3bdcc44e4bd6f50b1c184d53c616449026e0c7515a4d439 SHA512 ce85f4ca3917762cca3302c552aa51c0bebc5bfeaea6e03e451553121dd610323fb6ccd59c542087e50052a12e0f073bb0f8da16e87d4074e91020cbbd4b8f27 AUX nim-sets.conf 162 BLAKE2B 976422f31cf8a64e1fad537f4db38a07e0022b9460936c63e0220cb3858ba02704857841d5010ad8c7bde0e6192c4c3c1329aeca8080a48a728e8b288cefc0fb SHA512 61a07de9973fc77998515bbb62498ffd1de991241bf32805f4acc0e4325e39d767ac862f2546757763aa8d0a7f35b95a9e1df91e6aa6f241eed6e93c8e3c46f0 DIST nim-2.0.8.tar.xz 7617556 BLAKE2B 96ab3e92c7c9d3dcb54de6528f2ae788f3ff4a927d693f2ca4917231441d85d12c8bda44c41c8f363979dbd0d8db54098648512caf7780bdc40e393c4f7803ec SHA512 e64abc379c046a9432515d1c8074a7e10ff72a1076663a5b7bdd39ae92852c98ba2cab96aa5e968fc31ca393e778e70b2392d6ab56bca7ac956d0176b4b69a83 DIST nim-2.2.0.tar.xz 7896912 BLAKE2B 671b1f5551e093933519797bbfe2875c1726a0cdd1b33288a9ab189fb966fdb21583027345e58ab13d7e7e85479aafc52340e8ddecd062aca4b4b8de6466b88e SHA512 56374815770b1b92bef3521471a3b1a8b810646eb7f978ff329075d64d231a7d1591a928c28407aa507f1b59375d539fc81b678b84f6b8b4a88ed274048ebf21 +DIST nim-2.2.2.tar.xz 8188616 BLAKE2B e9b5dc3d12165fe12555a22fbf2125f1dc6e828ae5ce9f146c2347b2629623491498a0cf681355379d0c2252aa7d4d7d02d201a8722838da93b785b1a6dd3af6 SHA512 8b61fa55918e01adc782250b5cb931303adeaf185ee65faf3f1fd3843a0050dc7f3dfb363848f8769045e5ac5663f390ae4d8070906cdf0892d749f4426902b3 DIST nim-atlas-0.8.0.tar.gz 59097 BLAKE2B 231b238ac3b15cc2c2d9ad927f80ae72d8ae4c649277515f32df6cc04275ccd38db5307d627572af547501e6522c06c86dc279dc3e13b5385f14e24032f6fe69 SHA512 747c13e2c5bd45a1dc6c1426f8c7637f638ada9dd4c9aa3edf4ef8367060e73226dc4bcde6380fac25ed47ebf4097fd223c72fadc3cceba8c71dd0f0571e47eb EBUILD nim-2.0.8.ebuild 4516 BLAKE2B 07206721451f39505ff611379f04fdcae8eb6fba3d880aaad16fe1df117cd78cabb6c04697f8774c21a425206469e81336070d728a7dc8919c8f3bcd4abd6bb1 SHA512 b5441992666d3c6b33364942bb557c97e6724a57b591daa2f4bff457ad1cf6250c6b92991411a561e38bfac8df41847248e0da3768906d630deb4df35b8c8734 EBUILD nim-2.2.0.ebuild 4495 BLAKE2B 14aa3f9749c4c2641d677a97b96e88d5b931cd1d2cdb760c60e4c8acafff1b20fa90906d015f2d57b5e51ea4f30b7927c6583b26eda3e17461a461a355a8b48d SHA512 b6049dde621b18077f29873fced28c5cf72ee384a1dafca393369e3a5a57f830939253de1d72ae8d29cc32f727e12a8268ba732538c50262616d6620afe2347c +EBUILD nim-2.2.2.ebuild 4511 BLAKE2B 2579fdd6e71f73b9a92a6b1ae039e1ee210eef05c6b050109a27a0325a042f5f95389e59ac4c316749fccc07d4460593063aca8fa0d8f2970c4a87e28a67fcea SHA512 c8adfabfd8d59e35af3b968d1009c3a81eeaad8b513bed8571429f6b390157333b61e8378f1ffce1073e631f6a6cfb72bc94b7d1b293596573f58bf8a841f3b6 MISC metadata.xml 2093 BLAKE2B 250d27e71538be674ff7f32fe55089fca33f0d6ab55fdbe2b0f858f3d4373e729f273c16b2bf0bc3265be4289e7de1438096bf60e69bd0100e126fc5cc6173eb SHA512 74a188f13cc0653aa30d0c18126ed1cfb11d4325d71ffca6af03ad62b135796cd64d269e2ea85280cd1e486b527947b287eee4db648600451336e323882ff0e3 diff --git a/dev-lang/nim/files/nim-2.2.2-testament-skipfile.txt b/dev-lang/nim/files/nim-2.2.2-testament-skipfile.txt new file mode 100644 index 000000000000..347718d826de --- /dev/null +++ b/dev-lang/nim/files/nim-2.2.2-testament-skipfile.txt @@ -0,0 +1,87 @@ +# -*- conf -*- +# broken, bug https://bugs.gentoo.org/930542 +tests/c/temit.nim +tests/ccgbugs/t10964.nim +tests/niminaction/Chapter3/ChatApp/src/client.nim +tests/niminaction/Chapter3/various3.nim +tests/niminaction/Chapter6/WikipediaStats/concurrency.nim +tests/niminaction/Chapter6/WikipediaStats/concurrency_regex.nim +tests/niminaction/Chapter6/WikipediaStats/parallel_counts.nim +tests/niminaction/Chapter8/sdl/sdl_test.nim +tests/parallel/tdeepcopy.nim +tests/parallel/tdeepcopy2.nim +tests/parallel/tflowvar.nim +tests/parallel/tlet_spawn.nim +tests/parallel/tpi.nim +tests/parallel/tsysspawn.nim +tests/parallel/twaitany.nim +tests/stdlib/thttpclient_ssl.nim +tests/stdlib/tthreadpool.nim +# broken +tests/assert/tassert_c.nim +tests/async/tasync_traceback.nim +tests/async/tasync_traceback2.nim +tests/async/tasync_traceback2.nim +tests/coroutines/twait.nim +tests/dll/nimhcr_unit.nim +tests/errmsgs/t14444.nim +tests/errmsgs/t23536.nim +tests/errmsgs/tcall_with_default_arg.nim +tests/errmsgs/tproper_stacktrace.nim +tests/errmsgs/tproper_stacktrace2.nim +tests/errmsgs/tproper_stacktrace3.nim +tests/exception/t13115.nim +tests/exception/t22469.nim +tests/js/tmangle.nim +tests/js/twritestacktrace.nim +tests/lent/tbasic_lent_check.nim +tests/misc/trunner.nim +tests/misc/tsizeof4.nim +tests/misc/tstrace.nim +tests/misc/twarningaserror.nim +tests/parser/t20922.nim +tests/pragmas/thintprocessing.nim +tests/pragmas/tused.nim +tests/pragmas/twarning_off.nim +tests/range/tcompiletime_range_checks.nim +tests/stdlib/tos.nim +tests/stdlib/tstackframes.nim +tests/stdlib/tstats.nim +tests/system/talloc.nim +tests/testament/tshould_not_work.nim +# broken on musl + llvm +tests/coroutines/tgc.nim +tests/coroutines/twait.nim +tests/misc/t18077.nim +tests/misc/temit.nim +tests/nimdoc/t15916.nim +tests/nimdoc/trunnableexamples.nim +tests/nimdoc/trunnableexamples2.nim +tests/objects/tobjcov.nim +tests/objects/toop1.nim +tests/stdlib/tencodings.nim +tests/stdlib/tgetaddrinfo.nim +tests/stdlib/tstdlib_various.nim +tests/stdlib/tstreams.nim +tests/stdlib/ttimes.nim +tests/vm/tvmmisc.nim +# require network +tests/stdlib/thttpclient.nim +tests/stdlib/tnetconnect.nim +tests/stdlib/tssl.nim +# don't work without megatest +tests/misc/tjoinable.nim +tests/testament/tjoinable.nim +# don't work with "--hint:all:off" hack +tests/concepts/t3330.nim +tests/stylecheck/t20397_2.nim +tests/stylecheck/treject.nim +tests/stylecheck/tusages.nim +# need external dependencies +tests/manyloc/keineschweine/keineschweine.nim +tests/manyloc/nake/nakefile.nim +tests/niminaction/Chapter7/Tweeter/src/tweeter.nim +# need functional valgrind +tests/destructor/tnewruntime_strutils.nim +tests/destructor/tv2_raise.nim +tests/views/tsplit_into_openarray.nim diff --git a/dev-lang/nim/nim-2.2.2.ebuild b/dev-lang/nim/nim-2.2.2.ebuild new file mode 100644 index 000000000000..a318694ec47b --- /dev/null +++ b/dev-lang/nim/nim-2.2.2.ebuild @@ -0,0 +1,188 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ATLAS_V="0.8.0" + +inherit edo multiprocessing shell-completion toolchain-funcs xdg-utils + +DESCRIPTION="Compiled, garbage-collected systems programming language" +HOMEPAGE="https://nim-lang.org/ + https://github.com/nim-lang/Nim/" + +SRC_URI=" + https://nim-lang.org/download/${P}.tar.xz + https://github.com/nim-lang/atlas/archive/refs/tags/${ATLAS_V}.tar.gz + -> nim-atlas-${ATLAS_V}.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" + +IUSE="test-js test" +RESTRICT="!test? ( test )" + +BDEPEND=" + sys-process/parallel + test? ( + dev-db/sqlite:3 + dev-libs/boehm-gc + dev-libs/libffi + dev-libs/libpcre:3 + dev-libs/openssl + media-libs/libsdl + media-libs/libsfml + test-js? ( + net-libs/nodejs + ) + ) +" + +PATCHES=( "${FILESDIR}/${PN}-2.2.0-makefile.patch" ) + +src_configure() { + xdg_environment_reset # bug #667182 + + unset NIMBLE_DIR + tc-export CC CXX LD + + mkdir "${HOME}/.parallel" || die + touch "${HOME}/.parallel/will-cite" || die "parallel setup failed" + + cat > nim.cfg <<- EOF || die "Failed to create Nim config" + cc:"gcc" + gcc.exe:"$(tc-getCC)" + gcc.linkerexe:"$(tc-getCC)" + gcc.cpp.exe:"$(tc-getCXX)" + gcc.cpp.linkerexe:"$(tc-getCXX)" + gcc.options.speed:"${CFLAGS}" + gcc.options.size:"${CFLAGS}" + gcc.options.debug:"${CFLAGS}" + gcc.options.always:"${CPPFLAGS}" + gcc.options.linker:"${LDFLAGS}" + gcc.cpp.options.speed:"${CXXFLAGS}" + gcc.cpp.options.size:"${CXXFLAGS}" + gcc.cpp.options.debug:"${CXXFLAGS}" + gcc.cpp.options.always:"${CPPFLAGS}" + gcc.cpp.options.linker:"${LDFLAGS}" + + $([[ "${NOCOLOR}" == true || "${NOCOLOR}" == yes ]] && echo '--colors:"off"') + -d:"release" + --parallelBuild:"$(makeopts_jobs)" + + # some tests don't work with processing hints + --processing:"off" + EOF + + cp -r "${WORKDIR}/atlas-${ATLAS_V}" "${S}/dist/atlas" || die + + mkdir -p "${S}/dist/atlas/dist" || die + cp -r "${S}/dist/nimble/vendor/sat" "${S}/dist/atlas/dist/sat" || die +} + +src_compile() { + emake CC="$(tc-getCC)" + + local -x PATH="${S}/bin:${PATH}" + local -a nimflags=( + -d:release + --listCmd + --parallelBuild:$(makeopts_jobs) + ) + + edo ./bin/nim compile "${nimflags[@]}" koch + edo ./koch boot "${nimflags[@]}" -d:nimUseLinenoise --skipParentCfg:off + edo ./koch tools "${nimflags[@]}" + edo ./bin/nim compile "${nimflags[@]}" ./tools/niminst/niminst.nim +} + +src_test() { + local -x PATH="${S}/bin:${PATH}" + local -a nimflags=( + # Leave only the safe hints enabled. + --hint:all:off + --hint:User:on + --hint:UserRaw:on + ) + local -a testament_args=( + --skipFrom:"${FILESDIR}/nim-2.2.2-testament-skipfile.txt" + --nim:"bin/nim" + --targets:"$(usex test-js 'c js' 'c')" + ) + + if [[ "${NOCOLOR}" == true || "${NOCOLOR}" == yes ]] ; then + testament_args+=( --colors:off ) + fi + + local -a categories=() + readarray -t categories < <(find tests -mindepth 1 -maxdepth 1 -type d -printf "%P\n" | sort) + + # AdditionalCategories from "testament/categories.nim". + categories+=( debugger examples lib ) + + local test_return=0 + + local tcat="" + local checkpoint="" + for tcat in "${categories[@]}"; do + # Use checkpoints for less painful testing. + checkpoint="${T}/.testament-${tcat}" + + if [[ -f "${checkpoint}" ]] ; then + continue + fi + + case "${tcat}" in + testdata ) + : + ;; + + arc | gc | ic | js | msgs | stylecheck \ + | testament | untestable | objects | valgrind ) + einfo "Skipped nim test category: ${tcat}" + ;; + + * ) + einfo "Running tests in category '${tcat}'" + nonfatal edo ./bin/testament "${testament_args[@]}" \ + category "${tcat}" "${nimflags[@]}" \ + || test_return=1 + ;; + esac + + touch "${checkpoint}" || die + done + + if [[ "${test_return}" -eq 1 ]] ; then + die "tests failed, please inspect the failed test categories above" + fi +} + +src_install() { + local -x PATH="${S}/bin:${PATH}" + + edo ./koch install "${ED}/usr/lib" + dosym -r /usr/lib/nim/bin/nim /usr/bin/nim + + # "./koch install" installs only "nim" binary but not the rest. + local exe="" + while read -r exe ; do + einfo "Installing nim support tool: ${exe}" + + exeinto /usr/bin + doexe "${exe}" + done < <(find ./bin -type f -not -iname nim) + + newbashcomp dist/nimble/nimble.bash-completion nimble + newbashcomp tools/nim.bash-completion nim + newzshcomp dist/nimble/nimble.zsh-completion _nimble + newzshcomp tools/nim.zsh-completion _nim + + # Install the @nim-rebuild set for Portage. + insinto /usr/share/portage/config/sets + newins "${FILESDIR}/nim-sets.conf" nim.conf + + einstalldocs +} diff --git a/dev-lang/nprolog/Manifest b/dev-lang/nprolog/Manifest index 80fe0a114354..c5848ddcd96f 100644 --- a/dev-lang/nprolog/Manifest +++ b/dev-lang/nprolog/Manifest @@ -3,7 +3,9 @@ AUX nprolog-3.88-makefile-CURSES_CFLAGS-edlog-rule.patch 780 BLAKE2B 95e6e7a10af DIST nprolog-3.53.tar.gz 682333 BLAKE2B 827e6ff1b066e42fd10df8788a6752ef4df7692cc3d11ad6b1bb001b72d2e916997abae21e182c161ac1a1098362a2e8430a1b1500b4ad97ca74a00db19e70d2 SHA512 10de04a1737999203d23911b3c36ce506b112476238ec1c28bcade2a459cec6d8ac2310dd8ba3bd1af82aa390444ff5c37536585429faa7c12fa9ee154243087 DIST nprolog-3.88.gh.tar.gz 1337137 BLAKE2B 0d8f8d5e8242e3ab172f0a1256252ef99b6daf76a77fb75710c0286d55aa02e79e78601ec4347e42d88411cc7528d4e3b041496df04335496b71fc41cb3573c6 SHA512 12ef940792a6c9cd44cafad5440829d43b0c4736732341172255733f163d48b189233b62288e4fd59d36e5a378742f783a0400c2c4dc3d6b06570143b06685db DIST nprolog-3.89.gh.tar.gz 1286015 BLAKE2B 006e9ecfc541cc57cd67454ce3c10e6f8c9fce63695a4395d1b1d3db82aa30483d78503544d5b4ffbe2e87902fa05fe39fd2c6ad2fe4d3e54d54e96901a6e69f SHA512 9df70ec2c37861a6374fd0093b426cc0ba55138680e164f9d84ed830470cc955c2da7a24ba3fb517b4dbf5c0154062f9431905d9d326db6f7a7ddccee250a7ea +DIST nprolog-3.90.gh.tar.gz 1294763 BLAKE2B 70f728c44b3abce4c3d969ab4c015d89414412a6db06c6041c34376d4ddd10977a1cd2a33d6bdc07d1dd8f77d46ab0a704478d0534ec71bb85952ec29f8bc087 SHA512 9ab0fbed24bf57931af7b430c0f68c9b2cb93a63a5d8e6f6079bcde3f8d7adb181a44f6e2517860af9d3e011faec8577b448146a2dcfd2a2ccee6373f3187ada EBUILD nprolog-3.53.ebuild 888 BLAKE2B 1a70453da30466404a14daa097c7df96cd95bcf759becad989cd538e6b17739f86a06301950ed1913314b750955c3c8f3a07f650ce41a3fab431102f414deaaf SHA512 8fc94200ca57c0a592500c1f10a8b58fafb41c8ee28f5dcfea20327784a1221a5440bf72f6a53e1c365dd3bc1006da99d8aa2e8b541d07956a8502f9187c68e5 EBUILD nprolog-3.88.ebuild 1100 BLAKE2B 7f056d2d92d21e2d343f65f8aebee3934d7badd69aefe5fdeaf1230fb54cd13e09bee73c89f51c78fd2accbe9c91a8b2e2890133a567d8d9cd9a525c8eb79f64 SHA512 b697953177b8f268da8bdfa308750fa67be3b9b079c8ce2d1d01cc82db21771cd29daac509a8aed2013c24c2902e8c03acd9b415f40925010fb92e210583c811 EBUILD nprolog-3.89.ebuild 1032 BLAKE2B e39dc2dd493eebcdd307a5453f9e312c01848280a042ace8eb4255e78a35379d8829581c8635740da506419af011e0f9daa7f2a17ef966b6ff36b93108dd96fa SHA512 e1d11da019820e23d60ccbea7cfa3deabd1466112aeeb7ef4942f624860553d9736cfad4329439e04f0a9ee7ee5d200b972391e38249d28567926098e56e9b3f +EBUILD nprolog-3.90.ebuild 995 BLAKE2B c6b2e855cd048ab041273a3f464f153db96fbaf05e9b62770b03b3971c8188096b0d694c4ee3488ac0dfda775e94d312934e78e5bc70afe966ff9e6976c597e8 SHA512 7ad20ffc7a913cc779ce4feee01d4a6f0c3b5275c68cea81bfd09245ebf49885605d4054a65c76c1eda2ccb9c4c74509279fbb2ed6e2cfe4d6b2e7ed6dd4cb6b MISC metadata.xml 657 BLAKE2B 9331358542d57958385bc1218b4a1c5d38185ab0822d0cc68e51bcc5f8b00645a523a1a4f60d30188efc3ed7cb934f0a6a964d27bf0915c5956c69774c734590 SHA512 972ae4d1f2179887f77d8805f2e5482c17767e38b078fa9d9ee65a2f43e0b56b76fccd0166f4c5121de9a7cead4faa7683bd8e9076c257ffb2d1deb673eb276e diff --git a/dev-lang/nprolog/nprolog-3.90.ebuild b/dev-lang/nprolog/nprolog-3.90.ebuild new file mode 100644 index 000000000000..b9700d2ec470 --- /dev/null +++ b/dev-lang/nprolog/nprolog-3.90.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Interpreter and compiler to be compatible with Arity/Prolog32" +HOMEPAGE="https://github.com/sasagawa888/nprolog/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/sasagawa888/${PN}" +else + SRC_URI="https://github.com/sasagawa888/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz" + + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="BSD-2" +SLOT="0" +IUSE="doc" + +PATCHES=( + "${FILESDIR}/nprolog-3.22-ncursesw.patch" +) + +DOCS=( README{,-ja}.md ) + +src_prepare() { + if [[ -f edlog ]] ; then + rm edlog || die + fi + + default +} + +src_compile() { + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" +} + +src_install() { + exeinto /usr/bin + doexe npl + + insinto "/usr/share/${PN}" + doins -r example library + + if use doc ; then + DOCS+=( document ) + + docompress -x "/usr/share/doc/${PF}/document" + fi + + einstalldocs +} diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest index 59185bc82be0..90abde39c1c4 100644 --- a/dev-lang/spidermonkey/Manifest +++ b/dev-lang/spidermonkey/Manifest @@ -7,6 +7,7 @@ DIST firefox-115.16.0esr.source.tar.xz 515133700 BLAKE2B 9501b617b346d56f6de975f DIST firefox-115esr-patches-13.tar.xz 51360 BLAKE2B a048bfadba989ebbd4c6e3df97d303d6853844e66ed92f5f5f322acf18866218b91d52dbbece63827de283eef855c932d67e329c8d93200aa83f11268a5d1b2f SHA512 186ec72323e621362dcef1bc67c476716aff97dfad701faa9220a7302e798d3cb4ed90d5ea59e3e92f016be29875bb5219787635db99a8848b7c76e4e2e09e90 DIST firefox-128.4.0esr.source.tar.xz 558619512 BLAKE2B 1f0528c8806bb034af623f2022740bb5056ea11817b9cb7154a60b87f04051ba5ae06b0daf55e6b03b7531c369deb871d3d3579a86f3ca19f3ab71ccb45243f9 SHA512 e720b1f993926d73f5a5727648f753176ac2fd093fb0b71393946bbc5919ce5fc7b88b82960bd1aa427b5663c7f659828dc6702485fc0c1e7a6961571c67faa3 DIST firefox-128.6.0esr.source.tar.xz 563259116 BLAKE2B 401c54e4c3e81dd1d4aa9fed072e5266a7549d9ac05e03f9755d3da192c9c46d2bc636e8bf0a7fad2269074615789ab274b897c8bd75fd524f4a5f138c3aa1d5 SHA512 49bce966e062766861712bd65cca46a438b339fe31598f69e4fe64da78ef6f8b4581c1d502341ef1c032aafaab2f4f88e69cb93a0b845ba7173fec277ae695b5 +DIST firefox-128.7.0esr.source.tar.xz 569300208 BLAKE2B 08bf5b571707b7a5acf1ebde12e370be5999e3ac8cac2e952fae635faa16e07ba4d9d0a00b304ba43b5a327c825cae04c1ccf8434456e27d4c396e5b09a4b6a7 SHA512 26f9661b395b85a44b42bd72ef1ad976c614216c68f6c2dd834d0ac8b84b9c9f398b8ac550a47396995d96e6bb5fa9a50064d7f2f526bddd45aed5039ef131b8 DIST firefox-128esr-patches-07.tar.xz 18856 BLAKE2B 44d0ddf11518c7eef0a96de4f475a6ae1535e43e5bf89b8f61dc95330f28d6a053d08e6a183cf71432107256c83cd6ee6f742b235ca82babe4dd83698bf80d07 SHA512 60b4f18f5d91fc25f86cceccd561b55f167299908fbf2f9d7d69a8ce299c643f0b538d613d4348e42dd17c3812e4fa315e15004614af1f40fbe2adda417a1a81 DIST firefox-128esr-patches-08.tar.xz 17564 BLAKE2B d904b74fdae2e76866ded11de5377a7b6883d35996b358ae3419ffb7da53b04b2c7d4bb10d48998a8318a84e8221de39955289cb33a8f278c131b4af2006be62 SHA512 344a2d04dec679cd8ed714dcecc9dd5b56696803cee9267e7c0c45c439d78728e7eae674bb5f0a64f2e5802dc59c1ec25f1703885024d88bda8a02e2b3e0d69e DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185 @@ -16,4 +17,5 @@ EBUILD spidermonkey-102.15.0-r1.ebuild 15100 BLAKE2B 2f7d493ef27869b28de30fea5f4 EBUILD spidermonkey-115.16.0-r1.ebuild 13395 BLAKE2B b6c7c5a512fe9e46374868e53b86c39b7271ec435ed20a892c7864d4cb308ee790dc530af7b234ef78bab5f7393ddf0e7857b38df6fe1f3be773444d0b49f78e SHA512 6890cadb3b96f6557f0e3a51d6cbf099a7118c0e4927b0d8796c89d987463a840cc67cefe77248cbda529e252e4e15771d999c30f21336ea946d60eb8843cd7c EBUILD spidermonkey-128.4.0-r1.ebuild 13747 BLAKE2B 91cec6c9062aa43824a389e2020cfac6dc24be106b923cdb036d4b9c14b0b71b2c2e07a298c43ecc77fbb9b89e7cad61c7eec1a0f21dfe6e79c4ea078a36eaea SHA512 5889eb2bb3b14f4d72b8bf50469b6b7fda0b60baa1fd9b27e36a421552e94549436c3afbe7d46d0246ea46888c56a8791c2c0050fc51e5a6845adfe8290d1f85 EBUILD spidermonkey-128.6.0.ebuild 12829 BLAKE2B 2c603b698773db903c6d56ea22d6d8fd774d0645d2291da6d70a7a360703c5263466883a2c2d10d46399d6681a07a28b673146c01c2b7ab283b5a4133ce63def SHA512 ce7760113b7ca8c2b12c4a481e831dc89d85abfcfad1a0becf56f0f0b53a72323141d50fd4b98044baccd9e366dd9619a10ad537513f7a62fe4a79daf9c68d8d +EBUILD spidermonkey-128.7.0.ebuild 12829 BLAKE2B 2c603b698773db903c6d56ea22d6d8fd774d0645d2291da6d70a7a360703c5263466883a2c2d10d46399d6681a07a28b673146c01c2b7ab283b5a4133ce63def SHA512 ce7760113b7ca8c2b12c4a481e831dc89d85abfcfad1a0becf56f0f0b53a72323141d50fd4b98044baccd9e366dd9619a10ad537513f7a62fe4a79daf9c68d8d MISC metadata.xml 513 BLAKE2B 58ffd474492f03c16bda95e48511fb6281e03067d2ad77e994f8117345ecece5da9591dccedafe75b037d98e06851a3759caa4b993adc2910dbb76e1c01a7fa3 SHA512 1ee02bff37e2dabbd72b7f719463b12299270c7960b4cf5a92afab17c954c50e6acb826d4a91db4954fb4a7b0f8669988f2cdb5be991df90e3a605c6b35fdbfb diff --git a/dev-lang/spidermonkey/spidermonkey-128.7.0.ebuild b/dev-lang/spidermonkey/spidermonkey-128.7.0.ebuild new file mode 100644 index 000000000000..1f1a17198baf --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-128.7.0.ebuild @@ -0,0 +1,473 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +FIREFOX_PATCHSET="firefox-128esr-patches-08.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-128-patches-02.tar.xz" + +LLVM_COMPAT=( 17 18 19 ) +RUST_NEEDS_LLVM=1 + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,ssl,xml(+)" + +WANT_AUTOCONF="2.1" + +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 rust toolchain-funcs + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="firefox" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} + https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} +) + +DESCRIPTION="Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" + +LICENSE="MPL-2.0" +SLOT="$(ver_cut 1)" +IUSE="clang cpu_flags_arm_neon debug +jit test" + +#RESTRICT="test" +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + clang? ( + llvm-core/clang:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ) + ') + >=dev-util/cbindgen-0.26.0 + virtual/pkgconfig + test? ( + $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') + )" +DEPEND=">=dev-libs/icu-73.1:= + dev-libs/nspr + sys-libs/readline:0= + sys-libs/zlib" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/firefox-${PV%_*}" + +llvm_check_deps() { + if use clang ; then + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! has_version -b "llvm-core/llvm:${LLVM_SLOT}" ; then + einfo "llvm-core/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +python_check_deps() { + if use test ; then + python_has_version "dev-python/six[${PYTHON_USEDEP}]" + fi +} + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="4400M" + else + CHECKREQS_DISK_BUILD="4300M" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + if use test ; then + CHECKREQS_DISK_BUILD="4400M" + else + CHECKREQS_DISK_BUILD="4300M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo #915651,915651,929013 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}"/firefox-patches + eapply "${WORKDIR}"/spidermonkey-patches + + default + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo #915651,915651,929013 on musl + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + python/mozbuild/mozbuild/configure/check_debug_ranges.py || + die "sed failed to set toolchain prefix" + + einfo "Removing pre-built binaries ..." + find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" + einfo "Current LDFLAGS: ${LDFLAGS}" + einfo "Current RUSTFLAGS: ${RUSTFLAGS}" + + local have_switched_compiler= + if use clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + READELF=llvm-readelf + OBJDUMP=llvm-objdump + + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + READELF=readelf + OBJDUMP=objdump + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-project=js + + mozconfig_add_options_ac 'Gentoo default' \ + --host="${CBUILD:-${CHOST}}" \ + --target="${CHOST}" \ + --disable-ctype \ + --disable-jemalloc \ + --disable-smoosh \ + --disable-strip \ + --enable-readline \ + --enable-release \ + --enable-shared-js \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --with-intl-api \ + --with-system-icu \ + --with-system-nspr \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + mozconfig_use_enable debug + mozconfig_use_enable jit + mozconfig_use_enable test tests + + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-debug-symbols + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac '-debug' --enable-optimize + mozconfig_add_options_ac '-debug' --disable-debug-symbols + mozconfig_add_options_ac '-debug' --disable-real-time-tracing + fi + + # We always end up disabling this at some point due to newer rust versions. bgo#933372 + mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd + + # Modifications to better support ARM, bug 717344 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb=yes + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb-interwork=no + fi + fi + + # Tell build system that we want to use LTO + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + if tc-ld-is-mold ; then + mozconfig_add_options_ac '+lto' --enable-linker=mold + else + mozconfig_add_options_ac '+lto' --enable-linker=lld + fi + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + mozconfig_add_options_ac '+lto' --enable-linker=bfd + mozconfig_add_options_ac '+lto' --enable-lto=full + fi + fi + + # LTO flag was handled via configure + filter-lto + + # Pass MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" + einfo "Build LDFLAGS: ${LDFLAGS}" + einfo "Build RUSTFLAGS: ${RUSTFLAGS}" + + ./mach configure || die +} + +src_compile() { + ./mach build --verbose || die +} + +src_test() { + if "${BUILD_DIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_test_failures.list || die + + if use x86 ; then + echo "non262/Intl/DateTimeFormat/timeZone_version.js" >> "${T}"/known_test_failures.list + echo "test262/intl402/Locale/constructor-non-iana-canon.js" >> "${T}"/known_test_failures.list + fi + + ./mach jstests --exclude-file="${T}"/known_test_failures.list || die +} + +src_install() { + cd "${BUILD_DIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h || die +} |