From 342a43be91b81155f4c5a6f9696c04b5821444cb Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Tue, 7 Feb 2023 11:19:00 +0100 Subject: [PATCH 01/63] dev-python/codecov: new package, add 2.1.12 Signed-off-by: Henri Gasc --- dev-python/codecov/Manifest | 1 + dev-python/codecov/codecov-2.1.12.ebuild | 35 ++++++++++++++++++++++++ dev-python/codecov/metadata.xml | 16 +++++++++++ 3 files changed, 52 insertions(+) create mode 100644 dev-python/codecov/Manifest create mode 100644 dev-python/codecov/codecov-2.1.12.ebuild create mode 100644 dev-python/codecov/metadata.xml diff --git a/dev-python/codecov/Manifest b/dev-python/codecov/Manifest new file mode 100644 index 0000000000..2c44531c14 --- /dev/null +++ b/dev-python/codecov/Manifest @@ -0,0 +1 @@ +DIST codecov-2.1.12.tar.gz 20866 BLAKE2B dbccde91bf2290eb403a9f52583b1bb4629860a200bc4a592e2e2ad48443c77c3de36c02503f3716b16d941016296f20071ab7f34227058ccdc7c7f8d925d909 SHA512 9d364844dc864996e7d65d6210c7bca345a67d5aa61bcdd351591f0aeadcd2662101e59449e8a86b8341d9fc840889cb635b2c41c6287001b598ee1647c86b02 diff --git a/dev-python/codecov/codecov-2.1.12.ebuild b/dev-python/codecov/codecov-2.1.12.ebuild new file mode 100644 index 0000000000..2d5bfafa74 --- /dev/null +++ b/dev-python/codecov/codecov-2.1.12.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) + +inherit distutils-r1 + +DESCRIPTION="Hosted coverage reports for GitHub, Bitbucket and Gitlab" +HOMEPAGE="https://github.com/codecov/codecov-python https://pypi.org/project/codecov/" +SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 arm arm64 x86" +IUSE="test" +RESTRICT="!test? ( test )" + +DOCS="" + +RDEPEND=">=dev-python/requests-2.7.9[${PYTHON_USEDEP}] + dev-python/coverage[${PYTHON_USEDEP}]" +BDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + test? ( + dev-python/pytest[${PYTHON_USEDEP}] + )" + +python_test() { + py.test -v -v || die +} + +distutils_enable_tests pytest diff --git a/dev-python/codecov/metadata.xml b/dev-python/codecov/metadata.xml new file mode 100644 index 0000000000..dc0c613d47 --- /dev/null +++ b/dev-python/codecov/metadata.xml @@ -0,0 +1,16 @@ + + + + + b@edevau.net + Andreas Billmeier + + + codecov + codecov/codecov-python + + support@codecov.io + Codecov + + + From 30aafa6069ac90b6fac80ea10dec8b42ed13826b Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Tue, 7 Feb 2023 11:47:34 +0100 Subject: [PATCH 02/63] dev-python/invoke: new package, add 2.0.0 Signed-off-by: Henri Gasc --- dev-python/invoke/Manifest | 1 + dev-python/invoke/invoke-2.0.0.ebuild | 25 +++++++++++++++++++++++++ dev-python/invoke/metadata.xml | 12 ++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 dev-python/invoke/Manifest create mode 100644 dev-python/invoke/invoke-2.0.0.ebuild create mode 100644 dev-python/invoke/metadata.xml diff --git a/dev-python/invoke/Manifest b/dev-python/invoke/Manifest new file mode 100644 index 0000000000..27a59726cb --- /dev/null +++ b/dev-python/invoke/Manifest @@ -0,0 +1 @@ +DIST invoke-2.0.0.gh.tar.gz 308039 BLAKE2B 1c4e601014be953fcdef502d9d513db8deec75afc64f0445fd5eae0a05b04d9ebeffc1266cb25184f0e6dc0dc49d712661f4644258db6226e060ea20b735772e SHA512 d7ae2099f550216bd1ea7df1d3d6c253fc4740a1ef945a64d0293670eef4913b5a5d170ff2052bdff7c9801da31fbdc5bc6b323d4467caba4d1486839bca3ba1 diff --git a/dev-python/invoke/invoke-2.0.0.ebuild b/dev-python/invoke/invoke-2.0.0.ebuild new file mode 100644 index 0000000000..1d2e270cba --- /dev/null +++ b/dev-python/invoke/invoke-2.0.0.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..11} ) +inherit distutils-r1 + +DESCRIPTION="Pythonic task execution" +HOMEPAGE="https://github.com/pyinvoke/invoke https://pypi.org/project/invoke/" +SRC_URI="https://github.com/pyinvoke/invoke/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" + +RDEPEND="" +BDEPEND="" +DEPEND="" + +src_prepare(){ + rm -r ./invoke/vendor/yaml2 + eapply_user +} diff --git a/dev-python/invoke/metadata.xml b/dev-python/invoke/metadata.xml new file mode 100644 index 0000000000..6df7211a81 --- /dev/null +++ b/dev-python/invoke/metadata.xml @@ -0,0 +1,12 @@ + + + + + gasc@eurecom.fr + Gasc Henri + + + invoke + pyinvoke/invoke + + From 92a8199032aca6c48ea7860e3d46e0ad0f856cfa Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Tue, 7 Feb 2023 13:48:28 +0100 Subject: [PATCH 03/63] dev-python/pytest-syrupy: new package, add 4.0.0 Signed-off-by: Henri Gasc --- dev-python/pytest-syrupy/Manifest | 1 + dev-python/pytest-syrupy/metadata.xml | 12 ++++++ .../pytest-syrupy/pytest-syrupy-4.0.0.ebuild | 43 +++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 dev-python/pytest-syrupy/Manifest create mode 100644 dev-python/pytest-syrupy/metadata.xml create mode 100644 dev-python/pytest-syrupy/pytest-syrupy-4.0.0.ebuild diff --git a/dev-python/pytest-syrupy/Manifest b/dev-python/pytest-syrupy/Manifest new file mode 100644 index 0000000000..5b1ce1c0d9 --- /dev/null +++ b/dev-python/pytest-syrupy/Manifest @@ -0,0 +1 @@ +DIST pytest-syrupy-4.0.0.gh.tar.gz 2294943 BLAKE2B ac968eaaccfb4258237af165bf576a635ac858b0e8b52b2089b99b1dcfd3d49cc16bd7550ceb95809340a0e568fb37081e3c59820be8292fbe55f0223dc5dffa SHA512 006a28283c1ba148845bc4f447b066112a791adf47d405ce0351a25d2f100c64240719531ec62ed83f6c2a899f8d4ddeec9209fa152a290b6bb4e7b0e6ed1797 diff --git a/dev-python/pytest-syrupy/metadata.xml b/dev-python/pytest-syrupy/metadata.xml new file mode 100644 index 0000000000..2bfa8b7ba2 --- /dev/null +++ b/dev-python/pytest-syrupy/metadata.xml @@ -0,0 +1,12 @@ + + + + + gasc@eurecom.fr + Gasc Henri + + + syrupy + tophat/syrupy + + diff --git a/dev-python/pytest-syrupy/pytest-syrupy-4.0.0.ebuild b/dev-python/pytest-syrupy/pytest-syrupy-4.0.0.ebuild new file mode 100644 index 0000000000..4572bf367e --- /dev/null +++ b/dev-python/pytest-syrupy/pytest-syrupy-4.0.0.ebuild @@ -0,0 +1,43 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_10 ) + +inherit distutils-r1 + +DESCRIPTION="The sweeter pytest snapshot plugin" +HOMEPAGE="https://github.com/tophat/syrupy https://pypi.org/project/syrupy" +SRC_URI="https://github.com/tophat/syrupy/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/syrupy-${PV}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" + +RDEPEND=" + dev-python/rich[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-lang/python + dev-python/poetry-core[${PYTHON_USEDEP}] + dev-python/colored[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + test? ( + dev-python/codecov[${PYTHON_USEDEP}] + dev-python/invoke[${PYTHON_USEDEP}] + dev-python/coverage[${PYTHON_USEDEP}] + dev-python/pytest-benchmark[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" +DEPEND=" + ${BDEPEND} + ${RDEPEND} +" + +distutils_enable_tests pytest From b53db53d0bfa615832dcb4729e81133bb015c2f3 Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Tue, 7 Feb 2023 14:32:37 +0100 Subject: [PATCH 04/63] dev-python/py-nanoid: new package, add 9999 Signed-off-by: Henri Gasc --- dev-python/py-nanoid/Manifest | 1 + dev-python/py-nanoid/metadata.xml | 12 ++++++++++ dev-python/py-nanoid/py-nanoid-9999.ebuild | 28 ++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 dev-python/py-nanoid/Manifest create mode 100644 dev-python/py-nanoid/metadata.xml create mode 100644 dev-python/py-nanoid/py-nanoid-9999.ebuild diff --git a/dev-python/py-nanoid/Manifest b/dev-python/py-nanoid/Manifest new file mode 100644 index 0000000000..fd42a4b141 --- /dev/null +++ b/dev-python/py-nanoid/Manifest @@ -0,0 +1 @@ +DIST py-nanoid-9999.gh.tar.gz 6520 BLAKE2B 8805100e98beb3e7dbf8de8c55a0f1e8091483951a107cd2e04b588a6fde8a2d18c5e8e65707d8ce787ddb9ba32b0db5d92ae5b8621830039f51de117c426ebb SHA512 6e4adcd938b577c16b3724705b1707e7b0375bd89b06c05db609e92bab2a1fb43c0a8e6328933198700d19f19a2c01b6e3c7796167c37c81e73c5d948fd6ba21 diff --git a/dev-python/py-nanoid/metadata.xml b/dev-python/py-nanoid/metadata.xml new file mode 100644 index 0000000000..30afa2949d --- /dev/null +++ b/dev-python/py-nanoid/metadata.xml @@ -0,0 +1,12 @@ + + + + + gasc@eurecom.fr + Gasc Henri + + + nanoid + puyuan/py-nanoid + + diff --git a/dev-python/py-nanoid/py-nanoid-9999.ebuild b/dev-python/py-nanoid/py-nanoid-9999.ebuild new file mode 100644 index 0000000000..2380af32aa --- /dev/null +++ b/dev-python/py-nanoid/py-nanoid-9999.ebuild @@ -0,0 +1,28 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) + +inherit distutils-r1 + +DESCRIPTION="Python Nanoid" +HOMEPAGE="https://github.com/puyuan/py-nanoid https://pypi.org/project/nanoid" +SRC_URI="https://github.com/puyuan/py-nanoid/archive/refs/heads/master.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/py-nanoid-master" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" + +RDEPEND="" +BDEPEND=" + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/flake8[${PYTHON_USEDEP}] +" +DEPEND="${BDEPEND}" + +distutils_enable_tests pytest From fde87857aeed9917fd6bfcd755d9638361452463 Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Tue, 7 Feb 2023 15:04:29 +0100 Subject: [PATCH 05/63] dev-python/time-machine: new package, add 2.9.0 Signed-off-by: Henri Gasc --- dev-python/time-machine/Manifest | 1 + dev-python/time-machine/metadata.xml | 12 ++++++++ .../time-machine/time-machine-2.9.0.ebuild | 30 +++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 dev-python/time-machine/Manifest create mode 100644 dev-python/time-machine/metadata.xml create mode 100644 dev-python/time-machine/time-machine-2.9.0.ebuild diff --git a/dev-python/time-machine/Manifest b/dev-python/time-machine/Manifest new file mode 100644 index 0000000000..fe3c9dbbdc --- /dev/null +++ b/dev-python/time-machine/Manifest @@ -0,0 +1 @@ +DIST time-machine-2.9.0.gh.tar.gz 28043 BLAKE2B 9a9a521c94b72a7464853661da791b6f57f5155ddc62ffceeb82f808903f4c337e6bf48fe8300bb4f9f5673fd175fd85038a4e80a39e8f3e096c12c27ee790ec SHA512 ecc780a72d279b49d026a8f3f89210cb4c90e02c5a517c08eadbabcb65216a24c603ace39afd76ea1e6ccdef589d5997581d0db7477bb28fe4d1e0510daf17a0 diff --git a/dev-python/time-machine/metadata.xml b/dev-python/time-machine/metadata.xml new file mode 100644 index 0000000000..0000fbd69e --- /dev/null +++ b/dev-python/time-machine/metadata.xml @@ -0,0 +1,12 @@ + + + + + gasc@eurecom.fr + Gasc Henri + + + time-machine + adamchainz/time-machine + + diff --git a/dev-python/time-machine/time-machine-2.9.0.ebuild b/dev-python/time-machine/time-machine-2.9.0.ebuild new file mode 100644 index 0000000000..caca61b8e6 --- /dev/null +++ b/dev-python/time-machine/time-machine-2.9.0.ebuild @@ -0,0 +1,30 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..10} ) + +inherit distutils-r1 + +DESCRIPTION="Travel through time in your tests" +HOMEPAGE="https://github.com/adamchainz/time-machine https://pypi.org/project/time_machine" +SRC_URI="https://github.com/adamchainz/time-machine/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" + +RDEPEND="" +BDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/coverage[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-randomly[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] +" +DEPEND="${BDEPEND}" + +distutils_enable_tests pytest From 8606b7bc58c5c87ac5824920ca18e3313c054f22 Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Wed, 8 Feb 2023 09:49:02 +0100 Subject: [PATCH 06/63] dev-python/mkdocs-blog-plugin: new package, add 9999 Signed-off-by: Henri Gasc --- dev-python/mkdocs-blog-plugin/Manifest | 1 + dev-python/mkdocs-blog-plugin/metadata.xml | 12 +++++++++ .../mkdocs-blog-plugin-9999.ebuild | 25 +++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 dev-python/mkdocs-blog-plugin/Manifest create mode 100644 dev-python/mkdocs-blog-plugin/metadata.xml create mode 100644 dev-python/mkdocs-blog-plugin/mkdocs-blog-plugin-9999.ebuild diff --git a/dev-python/mkdocs-blog-plugin/Manifest b/dev-python/mkdocs-blog-plugin/Manifest new file mode 100644 index 0000000000..888844369a --- /dev/null +++ b/dev-python/mkdocs-blog-plugin/Manifest @@ -0,0 +1 @@ +DIST mkdocs-blog-plugin-9999.gh.tar.gz 54704 BLAKE2B 53283d806cdbbf63c96a5e4aa9406457e003722db2e64e311c74b18ce187ffc3cf6e9b61a9edae5e785f251c28857e44e8a165d95282c5d7216703c3b214c3c2 SHA512 47e25b4c459ab0c628049e86682610a5d7a1ed8be342d31a3be5f0398a38700c085157abed136c731e44e0074f6a1e41501c372890c11e23fd19e5893c9b0106 diff --git a/dev-python/mkdocs-blog-plugin/metadata.xml b/dev-python/mkdocs-blog-plugin/metadata.xml new file mode 100644 index 0000000000..956533a03a --- /dev/null +++ b/dev-python/mkdocs-blog-plugin/metadata.xml @@ -0,0 +1,12 @@ + + + + + gasc@eurecom.fr + Gasc Henri + + + mkdocs-blog-plugin + fmaida/mkdocs-blog-plugin + + diff --git a/dev-python/mkdocs-blog-plugin/mkdocs-blog-plugin-9999.ebuild b/dev-python/mkdocs-blog-plugin/mkdocs-blog-plugin-9999.ebuild new file mode 100644 index 0000000000..c7babb5c64 --- /dev/null +++ b/dev-python/mkdocs-blog-plugin/mkdocs-blog-plugin-9999.ebuild @@ -0,0 +1,25 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) + +inherit distutils-r1 + +DESCRIPTION="Plugin for MkDocs to keep a simple blog section inside your documentation." +HOMEPAGE="https://github.com/fmaida/mkdocs-blog-plugin https://pypi.org/project/mkdocs-blog-plugin" +SRC_URI="https://github.com/fmaida/mkdocs-blog-plugin/archive/refs/heads/master.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/mkdocs-blog-plugin-master" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="" +BDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/mkdocs[${PYTHON_USEDEP}] +" +DEPEND="${BDEPEND}" From 9a5854a425856e6bdba348101f78e54a7c556691 Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Wed, 8 Feb 2023 11:13:08 +0100 Subject: [PATCH 07/63] dev-python/validator-collection: new package, add 1.5.0 Signed-off-by: Henri Gasc --- dev-python/validator-collection/Manifest | 1 + dev-python/validator-collection/metadata.xml | 12 ++++++ .../validator-collection-1.5.0.ebuild | 40 +++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 dev-python/validator-collection/Manifest create mode 100644 dev-python/validator-collection/metadata.xml create mode 100644 dev-python/validator-collection/validator-collection-1.5.0.ebuild diff --git a/dev-python/validator-collection/Manifest b/dev-python/validator-collection/Manifest new file mode 100644 index 0000000000..98aa833371 --- /dev/null +++ b/dev-python/validator-collection/Manifest @@ -0,0 +1 @@ +DIST validator-collection-1.5.0.gh.tar.gz 88317 BLAKE2B cfca5c094a24105d7e4e9d4b802808ad62c50c4228d1c0ffca8e68e52098ee1358dfbfba6364b58e5377903823683668abfe79ccd4d6d96bb885b0ce33cb27d0 SHA512 802b7d1516ad55ef8506ea9785b776024f2c041fc5d550d345459bc545600a66402eb32ccc3c59903c895d2c55e17d087429b3a6bd787b9ae890eb00c1c19fc3 diff --git a/dev-python/validator-collection/metadata.xml b/dev-python/validator-collection/metadata.xml new file mode 100644 index 0000000000..e442218bbb --- /dev/null +++ b/dev-python/validator-collection/metadata.xml @@ -0,0 +1,12 @@ + + + + + gasc@eurecom.fr + Gasc Henri + + + validator-collection + insightindustry/validator-collection + + diff --git a/dev-python/validator-collection/validator-collection-1.5.0.ebuild b/dev-python/validator-collection/validator-collection-1.5.0.ebuild new file mode 100644 index 0000000000..a5a8e34081 --- /dev/null +++ b/dev-python/validator-collection/validator-collection-1.5.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_10 ) + +inherit distutils-r1 + +DESCRIPTION="Python library of 60+ commonly-used validator functions." +HOMEPAGE="https://github.com/insightindustry/validator-collection https://pypi.org/project/validator-collection" +SRC_URI="https://github.com/insightindustry/validator-collection/archive/refs/tags/v.${PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/${PN}-v.${PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" + +RDEPEND="" +BDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-tabs[${PYTHON_USEDEP}] + dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}] + test? ( + dev-python/coverage[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-benchmark[${PYTHON_USEDEP}] + dev-python/pytest-cov[${PYTHON_USEDEP}] + dev-python/codecov[${PYTHON_USEDEP}] + dev-python/pyfakefs[${PYTHON_USEDEP}] + ) +" +DEPEND="${BDEPEND}" + +distutils_enable_tests pytest +distutils_enable_sphinx docs From b14fc882371487962476d045a36231395791e350 Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Wed, 8 Feb 2023 11:38:24 +0100 Subject: [PATCH 08/63] dev-python/mkdocs-rss-plugin: new package, add 1.5.0 Signed-off-by: Henri Gasc --- dev-python/mkdocs-rss-plugin/Manifest | 1 + dev-python/mkdocs-rss-plugin/metadata.xml | 12 ++++++ .../mkdocs-rss-plugin-1.5.0.ebuild | 43 +++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 dev-python/mkdocs-rss-plugin/Manifest create mode 100644 dev-python/mkdocs-rss-plugin/metadata.xml create mode 100644 dev-python/mkdocs-rss-plugin/mkdocs-rss-plugin-1.5.0.ebuild diff --git a/dev-python/mkdocs-rss-plugin/Manifest b/dev-python/mkdocs-rss-plugin/Manifest new file mode 100644 index 0000000000..4ba441bacd --- /dev/null +++ b/dev-python/mkdocs-rss-plugin/Manifest @@ -0,0 +1 @@ +DIST mkdocs-rss-plugin-1.5.0.gh.tar.gz 39301 BLAKE2B 8d92ee030115b3d8ea589509a9558d61d72bfa4abd55b3451262928df8a63c9ed0399c2cd883a8d070c15241396cffcd96fd953a6b8e781b0d922d287b950886 SHA512 1ed861bca8feaab869c1e88a0533110a7b617b7a5bd68b6ea4b454975c56fee1aaa118d65abf8e8c03d41ff5b367f9561dee08cdffbcf7bfffa7268306c3f4b8 diff --git a/dev-python/mkdocs-rss-plugin/metadata.xml b/dev-python/mkdocs-rss-plugin/metadata.xml new file mode 100644 index 0000000000..61ccab5994 --- /dev/null +++ b/dev-python/mkdocs-rss-plugin/metadata.xml @@ -0,0 +1,12 @@ + + + + + gasc@eurecom.fr + Gasc Henri + + + mkdocs-rss-plugin + Guts/mkdocs-rss-plugin + + diff --git a/dev-python/mkdocs-rss-plugin/mkdocs-rss-plugin-1.5.0.ebuild b/dev-python/mkdocs-rss-plugin/mkdocs-rss-plugin-1.5.0.ebuild new file mode 100644 index 0000000000..ad0721f474 --- /dev/null +++ b/dev-python/mkdocs-rss-plugin/mkdocs-rss-plugin-1.5.0.ebuild @@ -0,0 +1,43 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) + +inherit distutils-r1 + +DESCRIPTION="MkDocs plugin to generate a RSS feeds." +HOMEPAGE="https://github.com/Guts/mkdocs-rss-plugin https://pypi.org/project/mkdocs-rss-plugin" +SRC_URI="https://github.com/Guts/mkdocs-rss-plugin/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc" + +RDEPEND="" +BDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/mkdocs[${PYTHON_USEDEP}] + dev-python/GitPython[${PYTHON_USEDEP}] + doc? ( + dev-python/mkdocs-bootswatch[${PYTHON_USEDEP}] + dev-python/mkdocs-minify-plugin[${PYTHON_USEDEP}] + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/pymdown-extensions[${PYTHON_USEDEP}] + ) +" +DEPEND="${BDEPEND}" + +# No test because of upstream bug +# BDEPEND+=" +# test? ( +# dev-python/black[${PYTHON_USEDEP}] +# dev-python/feedparser[${PYTHON_USEDEP}] +# dev-python/flake8[${PYTHON_USEDEP}] +# dev-vcs/pre-commit +# dev-python/pytest-cov[${PYTHON_USEDEP}] +# )" +# distutils_enable_tests pytest From 2cd880f7c2a5cc6e7c10f8ef07641b4105178c5d Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Wed, 8 Feb 2023 13:37:30 +0100 Subject: [PATCH 09/63] dev-python/mkdocs-autorefs: new package, add 0.4.1 Signed-off-by: Henri Gasc --- dev-python/mkdocs-autorefs/Manifest | 1 + dev-python/mkdocs-autorefs/metadata.xml | 12 +++++++++ .../mkdocs-autorefs-0.4.1.ebuild | 27 +++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 dev-python/mkdocs-autorefs/Manifest create mode 100644 dev-python/mkdocs-autorefs/metadata.xml create mode 100644 dev-python/mkdocs-autorefs/mkdocs-autorefs-0.4.1.ebuild diff --git a/dev-python/mkdocs-autorefs/Manifest b/dev-python/mkdocs-autorefs/Manifest new file mode 100644 index 0000000000..b54c246742 --- /dev/null +++ b/dev-python/mkdocs-autorefs/Manifest @@ -0,0 +1 @@ +DIST mkdocs-autorefs-0.4.1.gh.tar.gz 23793 BLAKE2B 31700c80decea013fb5b57772942d05665ac8b06b2948a69c09dd8c8266b2922d8679a6c053a9b19f5887087d24b9f2a1f1df569f953afb59b80df77adbf8e07 SHA512 5ff36eb2f6fcf3885a8b660fa5063af283f464c6d3e5b257cd5e2a84a2e5826c539d562eccd48d0ea61a2d57f461611759999fe524607638e1b097f5a32aa369 diff --git a/dev-python/mkdocs-autorefs/metadata.xml b/dev-python/mkdocs-autorefs/metadata.xml new file mode 100644 index 0000000000..b5b149724b --- /dev/null +++ b/dev-python/mkdocs-autorefs/metadata.xml @@ -0,0 +1,12 @@ + + + + + gasc@eurecom.fr + Gasc Henri + + + autorefs + mkdocstrings/autorefs + + diff --git a/dev-python/mkdocs-autorefs/mkdocs-autorefs-0.4.1.ebuild b/dev-python/mkdocs-autorefs/mkdocs-autorefs-0.4.1.ebuild new file mode 100644 index 0000000000..54162f0186 --- /dev/null +++ b/dev-python/mkdocs-autorefs/mkdocs-autorefs-0.4.1.ebuild @@ -0,0 +1,27 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm +PYTHON_COMPAT=( python3_{9..11} ) + +inherit distutils-r1 + +DESCRIPTION="Automatically link across pages in MkDocs." +HOMEPAGE="https://github.com/mkdocstrings/autorefs https://pypi.org/project/autorefs" +SRC_URI="https://github.com/mkdocstrings/autorefs/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/autorefs-${PV}" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="" +BDEPEND=" + dev-python/pdm-pep517[${PYTHON_USEDEP}] + dev-python/mkdocs[${PYTHON_USEDEP}] +" +DEPEND="${BDEPEND}" + +distutils_enable_tests pytest From 2843bec071f927b49bf459633b6d5af06b10584d Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Wed, 8 Feb 2023 14:59:20 +0100 Subject: [PATCH 10/63] dev-python/griffe: new package, add 0.25.4 Signed-off-by: Henri Gasc --- dev-python/griffe/Manifest | 1 + dev-python/griffe/griffe-0.25.4.ebuild | 26 ++++++++++++++++++++++++++ dev-python/griffe/metadata.xml | 15 +++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 dev-python/griffe/Manifest create mode 100644 dev-python/griffe/griffe-0.25.4.ebuild create mode 100644 dev-python/griffe/metadata.xml diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest new file mode 100644 index 0000000000..7e77714858 --- /dev/null +++ b/dev-python/griffe/Manifest @@ -0,0 +1 @@ +DIST griffe-0.25.4.gh.tar.gz 146307 BLAKE2B 160a347d9bcd7494f67d2904377d24e5b46882cf56d88b070c6d495e556ca8acef1acafa06de8e50759af1329674048a88917682ba366c24b3844b44862dafe5 SHA512 932235d5317aa001fda1007f110f01aa2fd6bac8f4dbe01e24701b2e2160d6bf43cb63960189f354fde5fc7ad65b55c363fb8cb8c9f4ff0dcff23129d47496b1 diff --git a/dev-python/griffe/griffe-0.25.4.ebuild b/dev-python/griffe/griffe-0.25.4.ebuild new file mode 100644 index 0000000000..08b8d875e9 --- /dev/null +++ b/dev-python/griffe/griffe-0.25.4.ebuild @@ -0,0 +1,26 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm +PYTHON_COMPAT=( python3_{9..11} ) +inherit distutils-r1 + +DESCRIPTION="Signatures for entire Python programs." +HOMEPAGE="https://github.com/mkdocstrings/griffe https://pypi.org/project/griffe/" +SRC_URI="https://github.com/mkdocstrings/griffe/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64" +ISUE="test" + +RDEPEND="" +BDEPEND=" + dev-python/pdm-pep517[${PYTHON_USEDEP}] + dev-python/colorama[${PYTHON_USEDEP}] +" +DEPEND="${BDEPEND}" + +distutils_enable_tests pytest diff --git a/dev-python/griffe/metadata.xml b/dev-python/griffe/metadata.xml new file mode 100644 index 0000000000..fabb16ac17 --- /dev/null +++ b/dev-python/griffe/metadata.xml @@ -0,0 +1,15 @@ + + + + + gasc@eurecom.fr + Gasc Henri + + + griffe + mkdocstrings/griffe + + + Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API. + + From 8e182fa43d73c0179aa1007293127c54a084cea8 Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Wed, 8 Feb 2023 15:15:30 +0100 Subject: [PATCH 11/63] dev-python/mkdocs-mkdocstrings-python: new package, add 0.8.3 Signed-off-by: Henri Gasc --- .../mkdocs-mkdocstrings-python/Manifest | 1 + .../mkdocs-mkdocstrings-python/metadata.xml | 12 +++++++ .../mkdocs-mkdocstrings-python-0.8.3.ebuild | 35 +++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 dev-python/mkdocs-mkdocstrings-python/Manifest create mode 100644 dev-python/mkdocs-mkdocstrings-python/metadata.xml create mode 100644 dev-python/mkdocs-mkdocstrings-python/mkdocs-mkdocstrings-python-0.8.3.ebuild diff --git a/dev-python/mkdocs-mkdocstrings-python/Manifest b/dev-python/mkdocs-mkdocstrings-python/Manifest new file mode 100644 index 0000000000..0d75fc5014 --- /dev/null +++ b/dev-python/mkdocs-mkdocstrings-python/Manifest @@ -0,0 +1 @@ +DIST mkdocs-mkdocstrings-python-0.8.3.gh.tar.gz 100049 BLAKE2B 796b26babacb6d6d711d7c748b5bb06e705881929109984d26ebdea1ee64c3d7d3b6427f54e2836d3256921243885518cf12a8ff74d04f2caf39871f08fd3f5a SHA512 af5e4470efd9de23710a2d9ec65430d48ef34b91fa9d6162be491852ed27c3775f3be41eb7703e440924566eeabee897e6cc8bba749f59377bdca617ec887c41 diff --git a/dev-python/mkdocs-mkdocstrings-python/metadata.xml b/dev-python/mkdocs-mkdocstrings-python/metadata.xml new file mode 100644 index 0000000000..eb1d746911 --- /dev/null +++ b/dev-python/mkdocs-mkdocstrings-python/metadata.xml @@ -0,0 +1,12 @@ + + + + + gasc@eurecom.fr + Gasc Henri + + + mkdocstrings-python + mkdocstrings/python + + diff --git a/dev-python/mkdocs-mkdocstrings-python/mkdocs-mkdocstrings-python-0.8.3.ebuild b/dev-python/mkdocs-mkdocstrings-python/mkdocs-mkdocstrings-python-0.8.3.ebuild new file mode 100644 index 0000000000..7d4fc6bb40 --- /dev/null +++ b/dev-python/mkdocs-mkdocstrings-python/mkdocs-mkdocstrings-python-0.8.3.ebuild @@ -0,0 +1,35 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm +PYTHON_COMPAT=( python3_{9..11} ) + +inherit distutils-r1 + +DESCRIPTION="A Python handler for mkdocstrings." +HOMEPAGE="https://github.com/mkdocstrings/python https://pypi.org/project/mkdocstrings-python" +SRC_URI="https://github.com/mkdocstrings/python/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/python-${PV}" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64" +ISUE="test" + +RDEPEND="" +BDEPEND=" + dev-python/pdm-pep517[${PYTHON_USEDEP}] + dev-python/mkdocs[${PYTHON_USEDEP}] + dev-python/griffe[${PYTHON_USEDEP}] + test? ( + dev-python/mkdocs-mkdocstrings[${PYTHON_USEDEP}] + dev-python/mkdocs-autorefs[${PYTHON_USEDEP}] + dev-python/pymdown-extensions[${PYTHON_USEDEP}] + dev-python/mkdocs_pymdownx_material_extras[${PYTHON_USEDEP}] + ) +" +DEPEND="${BDEPEND}" + +distutils_enable_tests pytest From ce22b887d36cee354691819065a6b7c2c50f3a9d Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Wed, 8 Feb 2023 15:45:33 +0100 Subject: [PATCH 12/63] dev-python/mkdocs-mkdocstrings: new package, add 0.20.0 Signed-off-by: Henri Gasc --- dev-python/mkdocs-mkdocstrings/Manifest | 1 + dev-python/mkdocs-mkdocstrings/metadata.xml | 12 +++++++ .../mkdocs-mkdocstrings-0.20.0.ebuild | 33 +++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 dev-python/mkdocs-mkdocstrings/Manifest create mode 100644 dev-python/mkdocs-mkdocstrings/metadata.xml create mode 100644 dev-python/mkdocs-mkdocstrings/mkdocs-mkdocstrings-0.20.0.ebuild diff --git a/dev-python/mkdocs-mkdocstrings/Manifest b/dev-python/mkdocs-mkdocstrings/Manifest new file mode 100644 index 0000000000..3d9e3221e8 --- /dev/null +++ b/dev-python/mkdocs-mkdocstrings/Manifest @@ -0,0 +1 @@ +DIST mkdocs-mkdocstrings-0.20.0.gh.tar.gz 69064 BLAKE2B 9b0a1dc3b5e21924e00ba75a6ec79bab33629c65010ec8b0669c17d4000c55fd250f628410c583f14f2d91ee34a0ab419306630025474a820a7377a7beb8b51a SHA512 7a1c5a20c4070d9dec3cf959b38110427efdfc211f66e8423b478903e646f8ef8c8242393d1689392763512a718343b140f01297e57cfbd5f246928c3fbba97b diff --git a/dev-python/mkdocs-mkdocstrings/metadata.xml b/dev-python/mkdocs-mkdocstrings/metadata.xml new file mode 100644 index 0000000000..b5b149724b --- /dev/null +++ b/dev-python/mkdocs-mkdocstrings/metadata.xml @@ -0,0 +1,12 @@ + + + + + gasc@eurecom.fr + Gasc Henri + + + autorefs + mkdocstrings/autorefs + + diff --git a/dev-python/mkdocs-mkdocstrings/mkdocs-mkdocstrings-0.20.0.ebuild b/dev-python/mkdocs-mkdocstrings/mkdocs-mkdocstrings-0.20.0.ebuild new file mode 100644 index 0000000000..337f11974a --- /dev/null +++ b/dev-python/mkdocs-mkdocstrings/mkdocs-mkdocstrings-0.20.0.ebuild @@ -0,0 +1,33 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm +PYTHON_COMPAT=( python3_{9..11} ) + +inherit distutils-r1 + +DESCRIPTION="Automatic documentation from sources, for MkDocs." +HOMEPAGE="https://github.com/mkdocstrings/mkdocstrings https://pypi.org/project/mkdocstrings" +SRC_URI="https://github.com/mkdocstrings/mkdocstrings/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/mkdocstrings-${PV}" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64" +ISUE="test" + +RDEPEND="" +BDEPEND=" + dev-python/pdm-pep517[${PYTHON_USEDEP}] + dev-python/mkdocs[${PYTHON_USEDEP}] + test? ( + dev-python/pymdown-extensions[${PYTHON_USEDEP}] + dev-python/mkdocs-autorefs[${PYTHON_USEDEP}] + dev-python/mkdocs-mkdocstrings-python[${PYTHON_USEDEP}] + ) +" +DEPEND="${BDEPEND}" + +distutils_enable_tests pytest From 22a41a9fcdf1a05daaa77a6f37cd3c0c6b46f81e Mon Sep 17 00:00:00 2001 From: Patrick Zwerschke Date: Wed, 8 Feb 2023 18:54:36 +0100 Subject: [PATCH 13/63] app-misc/ledger-live: add 2.53.1 drop 2.49.2 Signed-off-by: Patrick Zwerschke --- app-misc/ledger-live/Manifest | 2 +- app-misc/ledger-live/ledger-live-2.52.0.ebuild | 2 +- .../{ledger-live-2.49.2.ebuild => ledger-live-2.53.1.ebuild} | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename app-misc/ledger-live/{ledger-live-2.49.2.ebuild => ledger-live-2.53.1.ebuild} (92%) diff --git a/app-misc/ledger-live/Manifest b/app-misc/ledger-live/Manifest index 4c911df0ef..1d59d411a3 100644 --- a/app-misc/ledger-live/Manifest +++ b/app-misc/ledger-live/Manifest @@ -1,5 +1,5 @@ -DIST ledger-live-desktop-2.49.2-linux-x86_64.AppImage 114148285 BLAKE2B b072476e3c8ef37f2038bcdf5f6d2c0aca855f0c7e587f9825590859ec267dca460bf938042a48ddb17f4517814c8cf856dc55aef84c5004a2028e7368faf9f3 SHA512 abffeb467f70045221a42768c103234f5c39344b3a28af18c0e85ddad1d0df404fa7e4e487e4f1651b85f0851f03ac8cc30ab697453ae32dde8eeaf9c5ff9465 DIST ledger-live-desktop-2.50.0-linux-x86_64.AppImage 119773817 BLAKE2B 6b50a38d5c807898503c26fb138bc551c2194cddc3f4ca22fb86c622ffaa3e3ac76785c37d357eb8822b631ab779ecf5a0ec0a3f4b97728e578154b9978e57ab SHA512 aa8919e89f71eac515c6d20270673ed212214a62a3df54b047430d26d8e8576de5f29fc2b8ab30e8a3e9180fda3576ad7cf346ec271fc9c05c91b40b54642bfe DIST ledger-live-desktop-2.50.1-linux-x86_64.AppImage 120590061 BLAKE2B d56bd8e909649361d7c6aef67fde9ecb4d700c63370fe00c3170759fbf64732c51a484d5d2d8846f32efa4e75170c55cf6793559f431f704187b06f983f63284 SHA512 8ee659326d7ef62f47f7966ece2baf6c8825736f54ba0e2676a72d47418bce16a2dee9cf20920c1e81f8f3f4dd12e4508cb5eab25dbb602059c4674073b1ca9e DIST ledger-live-desktop-2.51.0-linux-x86_64.AppImage 120762361 BLAKE2B 90483944c5c45b5262bbe89b21fa2dea3e794cdf9a0c23e179027aabaa45dd2d60b161b7873a3dbf5b65d67661ac6ff8bdad85923ecd4364d800856ea6c10931 SHA512 f2d25df50d1bc7fea3e55a359e9d30accbf88f1c5b947173c83075a7438ffba3cd51c50ac28104dc12df24d12ad9479ae913a53817a6c37d0b90ec80c742af96 DIST ledger-live-desktop-2.52.0-linux-x86_64.AppImage 133467307 BLAKE2B 80698c56aa189d06926ac5e40617b28d5970bdb030c0f2d72d7bc2d6ff6e5ebe96288394df332b7d65b419b3277f1d7e89f481421951ce2dfb0fd45a00123bd5 SHA512 3cf578467c864daa27348ebd69a1e93fcbe59b1ab0fc4837993ed44281be27e18263f118f87d7766a54bee262c63572c9b8e83d12cac3006955b6ae11e641af9 +DIST ledger-live-desktop-2.53.1-linux-x86_64.AppImage 133289943 BLAKE2B 0e2a538de36e40f7998192567cc0979203c02e8d45adc95867152745d4c5285f8e201818ea4f1ad8190d63ba2d3ecdd102cebb82439628b3ed765ad6803089c9 SHA512 27e4b713a720351cb0916ebdb6343ba86f22c2c07e74545582ccf68203a5691c6bd56d312e5fc168868b922dd7e47b0c558f4a66754c8d7fe472288bf0cf4c3a diff --git a/app-misc/ledger-live/ledger-live-2.52.0.ebuild b/app-misc/ledger-live/ledger-live-2.52.0.ebuild index 7ec0deac37..0d9247f6a2 100644 --- a/app-misc/ledger-live/ledger-live-2.52.0.ebuild +++ b/app-misc/ledger-live/ledger-live-2.52.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Foundation +# Copyright 1999-2023 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=7 diff --git a/app-misc/ledger-live/ledger-live-2.49.2.ebuild b/app-misc/ledger-live/ledger-live-2.53.1.ebuild similarity index 92% rename from app-misc/ledger-live/ledger-live-2.49.2.ebuild rename to app-misc/ledger-live/ledger-live-2.53.1.ebuild index 7ec0deac37..0d9247f6a2 100644 --- a/app-misc/ledger-live/ledger-live-2.49.2.ebuild +++ b/app-misc/ledger-live/ledger-live-2.53.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Foundation +# Copyright 1999-2023 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=7 From c4a23091615394b8dd0f1d0b0f48c174e7e481ca Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Wed, 8 Feb 2023 21:33:35 +0100 Subject: [PATCH 14/63] dev-python/time-machine: treeclean (package already in ::gento) Signed-off-by: Henri Gasc --- dev-python/time-machine/Manifest | 1 - dev-python/time-machine/metadata.xml | 12 -------- .../time-machine/time-machine-2.9.0.ebuild | 30 ------------------- 3 files changed, 43 deletions(-) delete mode 100644 dev-python/time-machine/Manifest delete mode 100644 dev-python/time-machine/metadata.xml delete mode 100644 dev-python/time-machine/time-machine-2.9.0.ebuild diff --git a/dev-python/time-machine/Manifest b/dev-python/time-machine/Manifest deleted file mode 100644 index fe3c9dbbdc..0000000000 --- a/dev-python/time-machine/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST time-machine-2.9.0.gh.tar.gz 28043 BLAKE2B 9a9a521c94b72a7464853661da791b6f57f5155ddc62ffceeb82f808903f4c337e6bf48fe8300bb4f9f5673fd175fd85038a4e80a39e8f3e096c12c27ee790ec SHA512 ecc780a72d279b49d026a8f3f89210cb4c90e02c5a517c08eadbabcb65216a24c603ace39afd76ea1e6ccdef589d5997581d0db7477bb28fe4d1e0510daf17a0 diff --git a/dev-python/time-machine/metadata.xml b/dev-python/time-machine/metadata.xml deleted file mode 100644 index 0000fbd69e..0000000000 --- a/dev-python/time-machine/metadata.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - gasc@eurecom.fr - Gasc Henri - - - time-machine - adamchainz/time-machine - - diff --git a/dev-python/time-machine/time-machine-2.9.0.ebuild b/dev-python/time-machine/time-machine-2.9.0.ebuild deleted file mode 100644 index caca61b8e6..0000000000 --- a/dev-python/time-machine/time-machine-2.9.0.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9..10} ) - -inherit distutils-r1 - -DESCRIPTION="Travel through time in your tests" -HOMEPAGE="https://github.com/adamchainz/time-machine https://pypi.org/project/time_machine" -SRC_URI="https://github.com/adamchainz/time-machine/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" -IUSE="test" - -RDEPEND="" -BDEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] - dev-python/coverage[${PYTHON_USEDEP}] - dev-python/pytest[${PYTHON_USEDEP}] - dev-python/pytest-randomly[${PYTHON_USEDEP}] - dev-python/python-dateutil[${PYTHON_USEDEP}] -" -DEPEND="${BDEPEND}" - -distutils_enable_tests pytest From 5078410a203542a17576b777b5049924be753cda Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Wed, 8 Feb 2023 21:39:22 +0100 Subject: [PATCH 15/63] dev-python/codecov: keyword 2.1.12 for ~amd64 Signed-off-by: Henri Gasc --- dev-python/codecov/codecov-2.1.12.ebuild | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/dev-python/codecov/codecov-2.1.12.ebuild b/dev-python/codecov/codecov-2.1.12.ebuild index 2d5bfafa74..d8422eb970 100644 --- a/dev-python/codecov/codecov-2.1.12.ebuild +++ b/dev-python/codecov/codecov-2.1.12.ebuild @@ -14,9 +14,7 @@ SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm arm64 x86" -IUSE="test" -RESTRICT="!test? ( test )" +KEYWORDS="~amd64" DOCS="" From 53acd9a71b8275609d21fb63c08e006cea0035ce Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Wed, 8 Feb 2023 21:41:51 +0100 Subject: [PATCH 16/63] dev-python/invoke: keyword 2.0.0 for ~amd64, remove empty variables Signed-off-by: Henri Gasc --- dev-python/invoke/invoke-2.0.0.ebuild | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/dev-python/invoke/invoke-2.0.0.ebuild b/dev-python/invoke/invoke-2.0.0.ebuild index 1d2e270cba..57d5edebab 100644 --- a/dev-python/invoke/invoke-2.0.0.ebuild +++ b/dev-python/invoke/invoke-2.0.0.ebuild @@ -13,11 +13,7 @@ SRC_URI="https://github.com/pyinvoke/invoke/archive/refs/tags/${PV}.tar.gz -> ${ LICENSE="BSD-2" SLOT="0" -KEYWORDS="amd64 ~arm64 x86" - -RDEPEND="" -BDEPEND="" -DEPEND="" +KEYWORDS="~amd64" src_prepare(){ rm -r ./invoke/vendor/yaml2 From 72d91d3e023f5f0a7535a009ff9d83c8adfcf8e3 Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Wed, 8 Feb 2023 21:43:47 +0100 Subject: [PATCH 17/63] dev-python/pytest-syrupy: remove useless variables Signed-off-by: Henri Gasc --- dev-python/pytest-syrupy/pytest-syrupy-4.0.0.ebuild | 2 -- 1 file changed, 2 deletions(-) diff --git a/dev-python/pytest-syrupy/pytest-syrupy-4.0.0.ebuild b/dev-python/pytest-syrupy/pytest-syrupy-4.0.0.ebuild index 4572bf367e..240c594c42 100644 --- a/dev-python/pytest-syrupy/pytest-syrupy-4.0.0.ebuild +++ b/dev-python/pytest-syrupy/pytest-syrupy-4.0.0.ebuild @@ -16,14 +16,12 @@ S="${WORKDIR}/syrupy-${PV}" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64" -IUSE="test" RDEPEND=" dev-python/rich[${PYTHON_USEDEP}] dev-python/typing-extensions[${PYTHON_USEDEP}] " BDEPEND=" - dev-lang/python dev-python/poetry-core[${PYTHON_USEDEP}] dev-python/colored[${PYTHON_USEDEP}] dev-python/pytest[${PYTHON_USEDEP}] From 7b19e93bb9041dd2e66e7abca242d5f5f508e5fb Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Wed, 8 Feb 2023 21:52:50 +0100 Subject: [PATCH 18/63] dev-python/py-nanoid: use correct format for live build Signed-off-by: Henri Gasc --- dev-python/py-nanoid/Manifest | 1 - dev-python/py-nanoid/py-nanoid-9999.ebuild | 7 ++----- 2 files changed, 2 insertions(+), 6 deletions(-) delete mode 100644 dev-python/py-nanoid/Manifest diff --git a/dev-python/py-nanoid/Manifest b/dev-python/py-nanoid/Manifest deleted file mode 100644 index fd42a4b141..0000000000 --- a/dev-python/py-nanoid/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST py-nanoid-9999.gh.tar.gz 6520 BLAKE2B 8805100e98beb3e7dbf8de8c55a0f1e8091483951a107cd2e04b588a6fde8a2d18c5e8e65707d8ce787ddb9ba32b0db5d92ae5b8621830039f51de117c426ebb SHA512 6e4adcd938b577c16b3724705b1707e7b0375bd89b06c05db609e92bab2a1fb43c0a8e6328933198700d19f19a2c01b6e3c7796167c37c81e73c5d948fd6ba21 diff --git a/dev-python/py-nanoid/py-nanoid-9999.ebuild b/dev-python/py-nanoid/py-nanoid-9999.ebuild index 2380af32aa..75a5c7ae02 100644 --- a/dev-python/py-nanoid/py-nanoid-9999.ebuild +++ b/dev-python/py-nanoid/py-nanoid-9999.ebuild @@ -6,17 +6,14 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{9..11} ) -inherit distutils-r1 +inherit distutils-r1 git-r3 DESCRIPTION="Python Nanoid" HOMEPAGE="https://github.com/puyuan/py-nanoid https://pypi.org/project/nanoid" -SRC_URI="https://github.com/puyuan/py-nanoid/archive/refs/heads/master.tar.gz -> ${P}.gh.tar.gz" -S="${WORKDIR}/py-nanoid-master" +EGIT_REPO_URI="https://github.com/puyuan/py-nanoid.git" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64" -IUSE="test" RDEPEND="" BDEPEND=" From 63394e9f9158f1881e69c200fa686263dcc6644e Mon Sep 17 00:00:00 2001 From: Henri Gasc Date: Wed, 8 Feb 2023 21:56:08 +0100 Subject: [PATCH 19/63] dev-python/mkdocs-blog-plugin: Use correct syntax for live build Signed-off-by: Henri Gasc --- dev-python/mkdocs-blog-plugin/Manifest | 1 - .../mkdocs-blog-plugin/mkdocs-blog-plugin-9999.ebuild | 7 ++----- 2 files changed, 2 insertions(+), 6 deletions(-) delete mode 100644 dev-python/mkdocs-blog-plugin/Manifest diff --git a/dev-python/mkdocs-blog-plugin/Manifest b/dev-python/mkdocs-blog-plugin/Manifest deleted file mode 100644 index 888844369a..0000000000 --- a/dev-python/mkdocs-blog-plugin/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST mkdocs-blog-plugin-9999.gh.tar.gz 54704 BLAKE2B 53283d806cdbbf63c96a5e4aa9406457e003722db2e64e311c74b18ce187ffc3cf6e9b61a9edae5e785f251c28857e44e8a165d95282c5d7216703c3b214c3c2 SHA512 47e25b4c459ab0c628049e86682610a5d7a1ed8be342d31a3be5f0398a38700c085157abed136c731e44e0074f6a1e41501c372890c11e23fd19e5893c9b0106 diff --git a/dev-python/mkdocs-blog-plugin/mkdocs-blog-plugin-9999.ebuild b/dev-python/mkdocs-blog-plugin/mkdocs-blog-plugin-9999.ebuild index c7babb5c64..a159aaa07c 100644 --- a/dev-python/mkdocs-blog-plugin/mkdocs-blog-plugin-9999.ebuild +++ b/dev-python/mkdocs-blog-plugin/mkdocs-blog-plugin-9999.ebuild @@ -6,18 +6,15 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{9..11} ) -inherit distutils-r1 +inherit distutils-r1 git-r3 DESCRIPTION="Plugin for MkDocs to keep a simple blog section inside your documentation." HOMEPAGE="https://github.com/fmaida/mkdocs-blog-plugin https://pypi.org/project/mkdocs-blog-plugin" -SRC_URI="https://github.com/fmaida/mkdocs-blog-plugin/archive/refs/heads/master.tar.gz -> ${P}.gh.tar.gz" -S="${WORKDIR}/mkdocs-blog-plugin-master" +EGIT_REPO_URI="https://github.com/fmaida/mkdocs-blog-plugin.git" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64" -RDEPEND="" BDEPEND=" dev-python/setuptools[${PYTHON_USEDEP}] dev-python/mkdocs[${PYTHON_USEDEP}] From 1ebe795c842826b0017a9ba4fa6f954267bf8bd7 Mon Sep 17 00:00:00 2001 From: Julien Roy Date: Wed, 8 Feb 2023 17:09:22 -0500 Subject: [PATCH 20/63] dev-python/celery: dev-python/{redis-py -> redis} Signed-off-by: Julien Roy --- dev-python/celery/celery-5.3.0_beta1-r1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-python/celery/celery-5.3.0_beta1-r1.ebuild b/dev-python/celery/celery-5.3.0_beta1-r1.ebuild index dc527d4aa2..d46c2fc2d5 100644 --- a/dev-python/celery/celery-5.3.0_beta1-r1.ebuild +++ b/dev-python/celery/celery-5.3.0_beta1-r1.ebuild @@ -51,7 +51,7 @@ BDEPEND=" dev-python/pytest-subtests[${PYTHON_USEDEP}] >=dev-python/pytest-timeout-1.4.2[${PYTHON_USEDEP}] >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] - dev-python/redis-py[${PYTHON_USEDEP}] + dev-python/redis[${PYTHON_USEDEP}] dev-python/sphinx-testing[${PYTHON_USEDEP}] dev-python/tblib[${PYTHON_USEDEP}] sci-astronomy/pyephem[${PYTHON_USEDEP}] From 99634202dde32870442f25638bd3531be03ec4ed Mon Sep 17 00:00:00 2001 From: Julien Roy Date: Wed, 8 Feb 2023 17:09:48 -0500 Subject: [PATCH 21/63] dev-python/osprofiler: dev-python/{redis-py -> redis} Signed-off-by: Julien Roy --- dev-python/osprofiler/osprofiler-3.4.3.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev-python/osprofiler/osprofiler-3.4.3.ebuild b/dev-python/osprofiler/osprofiler-3.4.3.ebuild index a599facb19..5719aa521c 100644 --- a/dev-python/osprofiler/osprofiler-3.4.3.ebuild +++ b/dev-python/osprofiler/osprofiler-3.4.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -46,7 +46,7 @@ DEPEND=" >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}] >=dev-python/pymongo-3.0.2[${PYTHON_USEDEP}] >=dev-python/elasticsearch-py-2.0.0[${PYTHON_USEDEP}] - >=dev-python/redis-py-2.10.0[${PYTHON_USEDEP}] + >=dev-python/redis-2.10.0[${PYTHON_USEDEP}] >=dev-python/reno-3.1.0[${PYTHON_USEDEP}] ) " From d707e5e6c31743c78502cd5608f17752eac5f328 Mon Sep 17 00:00:00 2001 From: Eric Joldasov Date: Thu, 9 Feb 2023 11:07:03 +0600 Subject: [PATCH 22/63] dev-zig/zls: add 0.10.0 Signed-off-by: Eric Joldasov --- dev-zig/zls/Manifest | 3 + ...dd-builtin-data-for-new-zig-versions.patch | 3764 +++++++++++++++++ dev-zig/zls/zls-0.10.0.ebuild | 56 + 3 files changed, 3823 insertions(+) create mode 100644 dev-zig/zls/Manifest create mode 100644 dev-zig/zls/files/zls-0.10.0-add-builtin-data-for-new-zig-versions.patch create mode 100644 dev-zig/zls/zls-0.10.0.ebuild diff --git a/dev-zig/zls/Manifest b/dev-zig/zls/Manifest new file mode 100644 index 0000000000..1bb0f6d7b6 --- /dev/null +++ b/dev-zig/zls/Manifest @@ -0,0 +1,3 @@ +DIST known-folders-24845b0103e611c108d6bc334231c464e699742c.tar.gz 6618 BLAKE2B cdfe56329edcf50a07eea919b1a753ce965eeaa3c1d9e08289d74704809e489a7a674fb41c0fa16115a406512477cfa99953d434d44c52429c241df7e7bb4f1d SHA512 4ac156ad51793a733d8fd5a24936bd7b0bb8a527b9d19d9cb7d43c9ec7ac983f37dfc00fdfec23147964689201cdbee213e66b4af0917b0bb324b02e8a3a7151 +DIST tracy-f493d4aa8ba8141d9680473fad007d8a6348628e.tar.gz 5401470 BLAKE2B 8a027bfe82842d6d3caeddcf03499a3671a99f2210a40b434e9893a60da88775c19738230e8d55cb1de020fe9f0d7d414df76f36f4a55b04a0c41c8c0de8232b SHA512 e8a844ff015b4c7a261e3251be33deced4f4a29a8fc8254244c125b391266e7a38bdf8d988ff4aac10bd0ee5538fca1e274a0d91dcde08d0bd021006cb326e6f +DIST zls-0.10.0.tar.gz 320226 BLAKE2B fc9c7c6e37d9347710520ddf0bc90b704ff6115210e044e68a973a2edefe024d14cf410ed0fe74400c1bed8b57f8316dc4298561f78de3abe112bc38df70404b SHA512 16a55ef0ecfac1bf43c4d917741db8389dc835cfdd9e78e9853180dad7218656c6a09b67b7185e7d87ccb2196a4deb457c3d476300eff01ce8c9bfab597576ad diff --git a/dev-zig/zls/files/zls-0.10.0-add-builtin-data-for-new-zig-versions.patch b/dev-zig/zls/files/zls-0.10.0-add-builtin-data-for-new-zig-versions.patch new file mode 100644 index 0000000000..1810aef351 --- /dev/null +++ b/dev-zig/zls/files/zls-0.10.0-add-builtin-data-for-new-zig-versions.patch @@ -0,0 +1,3764 @@ +From 95f21d0d23fa67c3c1688cfbfa53905ab1f6a7d5 Mon Sep 17 00:00:00 2001 +From: BratishkaErik <25210740+BratishkaErik@users.noreply.github.com> +Date: Thu, 3 Nov 2022 02:24:51 +0600 +Subject: [PATCH] Add builtin data for 0.9.1 and 0.10.0 (#735) + +* Add builtin data for 0.9.1 + +* Add builtin data for 0.10.0 + +* Update builtin data for master +--- + src/data/0.10.0.zig | 1805 +++++++++++++++++++++++++++++++++++++++++++ + src/data/0.9.1.zig | 1777 ++++++++++++++++++++++++++++++++++++++++++ + src/data/data.zig | 2 + + src/data/master.zig | 40 +- + src/shared.zig | 2 + + 5 files changed, 3609 insertions(+), 17 deletions(-) + create mode 100644 src/data/0.10.0.zig + create mode 100644 src/data/0.9.1.zig + +diff --git a/src/data/0.10.0.zig b/src/data/0.10.0.zig +new file mode 100644 +index 00000000..82f7a25a +--- /dev/null ++++ b/src/data/0.10.0.zig +@@ -0,0 +1,1805 @@ ++const Builtin = struct { ++ name: []const u8, ++ signature: []const u8, ++ snippet: []const u8, ++ documentation: []const u8, ++ arguments: []const []const u8, ++}; ++ ++pub const builtins = [_]Builtin{ ++ .{ ++ .name = "@addrSpaceCast", ++ .signature = "@addrSpaceCast(comptime addrspace: std.builtin.AddressSpace, ptr: anytype) anytype", ++ .snippet = "@addrSpaceCast(${1:comptime addrspace: std.builtin.AddressSpace}, ${2:ptr: anytype})", ++ .documentation = ++ \\Converts a pointer from one address space to another. Depending on the current target and address spaces, this cast may be a no-op, a complex operation, or illegal. If the cast is legal, then the resulting pointer points to the same memory location as the pointer operand. It is always valid to cast a pointer between the same address spaces. ++ , ++ .arguments = &.{ ++ "comptime addrspace: std.builtin.AddressSpace", ++ "ptr: anytype", ++ }, ++ }, ++ .{ ++ .name = "@addWithOverflow", ++ .signature = "@addWithOverflow(comptime T: type, a: T, b: T, result: *T) bool", ++ .snippet = "@addWithOverflow(${1:comptime T: type}, ${2:a: T}, ${3:b: T}, ${4:result: *T})", ++ .documentation = ++ \\Performs `result.* = a + b`. If overflow or underflow occurs, stores the overflowed bits in `result` and returns `true`. If no overflow or underflow occurs, returns `false`. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "a: T", ++ "b: T", ++ "result: *T", ++ }, ++ }, ++ .{ ++ .name = "@alignCast", ++ .signature = "@alignCast(comptime alignment: u29, ptr: anytype) anytype", ++ .snippet = "@alignCast(${1:comptime alignment: u29}, ${2:ptr: anytype})", ++ .documentation = ++ \\`ptr` can be `*T`, `?*T`, or `[]T`. It returns the same type as `ptr` except with the alignment adjusted to the new value. ++ \\ ++ \\A [pointer alignment safety check](https://ziglang.org/documentation/0.10.0/#Incorrect-Pointer-Alignment) is added to the generated code to make sure the pointer is aligned as promised. ++ , ++ .arguments = &.{ ++ "comptime alignment: u29", ++ "ptr: anytype", ++ }, ++ }, ++ .{ ++ .name = "@alignOf", ++ .signature = "@alignOf(comptime T: type) comptime_int", ++ .snippet = "@alignOf(${1:comptime T: type})", ++ .documentation = ++ \\This function returns the number of bytes that this type should be aligned to for the current target to match the C ABI. When the child type of a pointer has this alignment, the alignment can be omitted from the type. ++ \\ ++ \\```zig ++ \\const assert = @import("std").debug.assert; ++ \\comptime { ++ \\ assert(*u32 == *align(@alignOf(u32)) u32); ++ \\} ++ \\``` ++ \\ ++ \\The result is a target-specific compile time constant. It is guaranteed to be less than or equal to [@sizeOf(T)](https://ziglang.org/documentation/0.10.0/#@sizeOf). ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ }, ++ }, ++ .{ ++ .name = "@as", ++ .signature = "@as(comptime T: type, expression) T", ++ .snippet = "@as(${1:comptime T: type}, ${2:expression})", ++ .documentation = ++ \\Performs [Type Coercion](https://ziglang.org/documentation/0.10.0/#Type-Coercion). This cast is allowed when the conversion is unambiguous and safe, and is the preferred way to convert between types, whenever possible. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "expression", ++ }, ++ }, ++ .{ ++ .name = "@asyncCall", ++ .signature = "@asyncCall(frame_buffer: []align(@alignOf(@Frame(anyAsyncFunction))) u8, result_ptr, function_ptr, args: anytype) anyframe->T", ++ .snippet = "@asyncCall(${1:frame_buffer: []align(@alignOf(@Frame(anyAsyncFunction))) u8}, ${2:result_ptr}, ${3:function_ptr}, ${4:args: anytype})", ++ .documentation = ++ \\`@asyncCall` performs an `async` call on a function pointer, which may or may not be an [async function](https://ziglang.org/documentation/0.10.0/#Async-Functions). ++ \\ ++ \\The provided `frame_buffer` must be large enough to fit the entire function frame. This size can be determined with [@frameSize](https://ziglang.org/documentation/0.10.0/#frameSize). To provide a too-small buffer invokes safety-checked [Undefined Behavior](https://ziglang.org/documentation/0.10.0/#Undefined-Behavior). ++ \\ ++ \\`result_ptr` is optional ([null](https://ziglang.org/documentation/0.10.0/#null) may be provided). If provided, the function call will write its result directly to the result pointer, which will be available to read after [await](https://ziglang.org/documentation/0.10.0/#Async-and-Await) completes. Any result location provided to `await` will copy the result from `result_ptr`.

{#code_begin|test|async_struct_field_fn_pointer#} {#backend_stage1#} const std = @import("std"); const expect = std.testing.expect; test "async fn pointer in a struct field" { var data: i32 = 1; const Foo = struct { bar: fn (*i32) callconv(.Async) void, }; var foo = Foo{ .bar = func }; var bytes: [64]u8 align(@alignOf(@Frame(func))) = undefined; const f = @asyncCall(&bytes, {}, foo.bar, .{&data}); try expect(data == 2); resume f; try expect(data == 4); } fn func(y: *i32) void { defer y.* += 2; y.* += 1; suspend {} }` ++ , ++ .arguments = &.{ ++ "frame_buffer: []align(@alignOf(@Frame(anyAsyncFunction))) u8", ++ "result_ptr", ++ "function_ptr", ++ "args: anytype", ++ }, ++ }, ++ .{ ++ .name = "@atomicLoad", ++ .signature = "@atomicLoad(comptime T: type, ptr: *const T, comptime ordering: builtin.AtomicOrder) T", ++ .snippet = "@atomicLoad(${1:comptime T: type}, ${2:ptr: *const T}, ${3:comptime ordering: builtin.AtomicOrder})", ++ .documentation = ++ \\This builtin function atomically dereferences a pointer and returns the value. ++ \\ ++ \\`T` must be a pointer, a `bool`, a float, an integer or an enum. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "ptr: *const T", ++ "comptime ordering: builtin.AtomicOrder", ++ }, ++ }, ++ .{ ++ .name = "@atomicRmw", ++ .signature = "@atomicRmw(comptime T: type, ptr: *T, comptime op: builtin.AtomicRmwOp, operand: T, comptime ordering: builtin.AtomicOrder) T", ++ .snippet = "@atomicRmw(${1:comptime T: type}, ${2:ptr: *T}, ${3:comptime op: builtin.AtomicRmwOp}, ${4:operand: T}, ${5:comptime ordering: builtin.AtomicOrder})", ++ .documentation = ++ \\This builtin function atomically modifies memory and then returns the previous value. ++ \\ ++ \\`T` must be a pointer, a `bool`, a float, an integer or an enum. ++ \\ ++ \\Supported operations: ++ \\ - `.Xchg` - stores the operand unmodified. Supports enums, integers and floats. ++ \\ - `.Add` - for integers, twos complement wraparound addition. Also supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats). ++ \\ - `.Sub` - for integers, twos complement wraparound subtraction. Also supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats). ++ \\ - `.And` - bitwise and ++ \\ - `.Nand` - bitwise nand ++ \\ - `.Or` - bitwise or ++ \\ - `.Xor` - bitwise xor ++ \\ - `.Max` - stores the operand if it is larger. Supports integers and floats. ++ \\ - `.Min` - stores the operand if it is smaller. Supports integers and floats. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "ptr: *T", ++ "comptime op: builtin.AtomicRmwOp", ++ "operand: T", ++ "comptime ordering: builtin.AtomicOrder", ++ }, ++ }, ++ .{ ++ .name = "@atomicStore", ++ .signature = "@atomicStore(comptime T: type, ptr: *T, value: T, comptime ordering: builtin.AtomicOrder) void", ++ .snippet = "@atomicStore(${1:comptime T: type}, ${2:ptr: *T}, ${3:value: T}, ${4:comptime ordering: builtin.AtomicOrder})", ++ .documentation = ++ \\This builtin function atomically stores a value. ++ \\ ++ \\`T` must be a pointer, a `bool`, a float, an integer or an enum. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "ptr: *T", ++ "value: T", ++ "comptime ordering: builtin.AtomicOrder", ++ }, ++ }, ++ .{ ++ .name = "@bitCast", ++ .signature = "@bitCast(comptime DestType: type, value: anytype) DestType", ++ .snippet = "@bitCast(${1:comptime DestType: type}, ${2:value: anytype})", ++ .documentation = ++ \\Converts a value of one type to another type. ++ \\ ++ \\Asserts that `@sizeOf(@TypeOf(value)) == @sizeOf(DestType)`. ++ \\ ++ \\Asserts that `@typeInfo(DestType) != .Pointer`. Use `@ptrCast` or `@intToPtr` if you need this. ++ \\ ++ \\Can be used for these things for example: ++ \\ - Convert `f32` to `u32` bits ++ \\ - Convert `i32` to `u32` preserving twos complement ++ \\ ++ \\Works at compile-time if `value` is known at compile time. It's a compile error to bitcast a value of undefined layout; this means that, besides the restriction from types which possess dedicated casting builtins (enums, pointers, error sets), bare structs, error unions, slices, optionals, and any other type without a well-defined memory layout, also cannot be used in this operation. ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@bitOffsetOf", ++ .signature = "@bitOffsetOf(comptime T: type, comptime field_name: []const u8) comptime_int", ++ .snippet = "@bitOffsetOf(${1:comptime T: type}, ${2:comptime field_name: []const u8})", ++ .documentation = ++ \\Returns the bit offset of a field relative to its containing struct. ++ \\ ++ \\For non [packed structs](https://ziglang.org/documentation/0.10.0/#packed-struct), this will always be divisible by `8`. For packed structs, non-byte-aligned fields will share a byte offset, but they will have different bit offsets. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "comptime field_name: []const u8", ++ }, ++ }, ++ .{ ++ .name = "@boolToInt", ++ .signature = "@boolToInt(value: bool) u1", ++ .snippet = "@boolToInt(${1:value: bool})", ++ .documentation = ++ \\Converts `true` to `@as(u1, 1)` and `false` to `@as(u1, 0)`. ++ \\ ++ \\If the value is known at compile-time, the return type is `comptime_int` instead of `u1`. ++ , ++ .arguments = &.{ ++ "value: bool", ++ }, ++ }, ++ .{ ++ .name = "@bitSizeOf", ++ .signature = "@bitSizeOf(comptime T: type) comptime_int", ++ .snippet = "@bitSizeOf(${1:comptime T: type})", ++ .documentation = ++ \\This function returns the number of bits it takes to store `T` in memory if the type were a field in a packed struct/union. The result is a target-specific compile time constant. ++ \\ ++ \\This function measures the size at runtime. For types that are disallowed at runtime, such as `comptime_int` and `type`, the result is `0`. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ }, ++ }, ++ .{ ++ .name = "@breakpoint", ++ .signature = "@breakpoint()", ++ .snippet = "@breakpoint()", ++ .documentation = ++ \\This function inserts a platform-specific debug trap instruction which causes debuggers to break there. ++ \\ ++ \\This function is only valid within function scope. ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@mulAdd", ++ .signature = "@mulAdd(comptime T: type, a: T, b: T, c: T) T", ++ .snippet = "@mulAdd(${1:comptime T: type}, ${2:a: T}, ${3:b: T}, ${4:c: T})", ++ .documentation = ++ \\Fused multiply-add, similar to `(a * b) + c`, except only rounds once, and is thus more accurate. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "a: T", ++ "b: T", ++ "c: T", ++ }, ++ }, ++ .{ ++ .name = "@byteSwap", ++ .signature = "@byteSwap(operand: anytype) T", ++ .snippet = "@byteSwap(${1:operand: anytype})", ++ .documentation = ++ \\`@TypeOf(operand)` must be an integer type or an integer vector type with bit count evenly divisible by 8. ++ \\ ++ \\`operand` may be an [integer](https://ziglang.org/documentation/0.10.0/#Integers) or [vector](https://ziglang.org/documentation/0.10.0/#Vectors). ++ \\ ++ \\Swaps the byte order of the integer. This converts a big endian integer to a little endian integer, and converts a little endian integer to a big endian integer. ++ \\ ++ \\Note that for the purposes of memory layout with respect to endianness, the integer type should be related to the number of bytes reported by [@sizeOf](https://ziglang.org/documentation/0.10.0/#sizeOf) bytes. This is demonstrated with `u24`. `@sizeOf(u24) == 4`, which means that a `u24` stored in memory takes 4 bytes, and those 4 bytes are what are swapped on a little vs big endian system. On the other hand, if `T` is specified to be `u24`, then only 3 bytes are reversed. ++ , ++ .arguments = &.{ ++ "operand: anytype", ++ }, ++ }, ++ .{ ++ .name = "@bitReverse", ++ .signature = "@bitReverse(integer: anytype) T", ++ .snippet = "@bitReverse(${1:integer: anytype})", ++ .documentation = ++ \\`@TypeOf(anytype)` accepts any integer type or integer vector type. ++ \\ ++ \\Reverses the bitpattern of an integer value, including the sign bit if applicable. ++ \\ ++ \\For example 0b10110110 (`u8 = 182`, `i8 = -74`) becomes 0b01101101 (`u8 = 109`, `i8 = 109`). ++ , ++ .arguments = &.{ ++ "integer: anytype", ++ }, ++ }, ++ .{ ++ .name = "@offsetOf", ++ .signature = "@offsetOf(comptime T: type, comptime field_name: []const u8) comptime_int", ++ .snippet = "@offsetOf(${1:comptime T: type}, ${2:comptime field_name: []const u8})", ++ .documentation = ++ \\Returns the byte offset of a field relative to its containing struct. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "comptime field_name: []const u8", ++ }, ++ }, ++ .{ ++ .name = "@call", ++ .signature = "@call(options: std.builtin.CallOptions, function: anytype, args: anytype) anytype", ++ .snippet = "@call(${1:options: std.builtin.CallOptions}, ${2:function: anytype}, ${3:args: anytype})", ++ .documentation = ++ \\Calls a function, in the same way that invoking an expression with parentheses does: ++ \\ ++ \\```zig ++ \\const expect = @import("std").testing.expect; ++ \\ ++ \\test "noinline function call" { ++ \\ try expect(@call(.{}, add, .{3, 9}) == 12); ++ \\} ++ \\ ++ \\fn add(a: i32, b: i32) i32 { ++ \\ return a + b; ++ \\} ++ \\``` ++ \\ ++ \\`@call` allows more flexibility than normal function call syntax does. The `CallOptions` struct is reproduced here:

{#syntax_block|zig|builtin.CallOptions struct#} pub const CallOptions = struct { modifier: Modifier = .auto, /// Only valid when `Modifier` is `Modifier.async_kw`. stack: ?[]align(std.Target.stack_align) u8 = null, pub const Modifier = enum { /// Equivalent to function call syntax. auto, /// Equivalent to async keyword used with function call syntax. async_kw, /// Prevents tail call optimization. This guarantees that the return /// address will point to the callsite, as opposed to the callsite's /// callsite. If the call is otherwise required to be tail-called /// or inlined, a compile error is emitted instead. never_tail, /// Guarantees that the call will not be inlined. If the call is /// otherwise required to be inlined, a compile error is emitted instead. never_inline, /// Asserts that the function call will not suspend. This allows a /// non-async function to call an async function. no_async, /// Guarantees that the call will be generated with tail call optimization. /// If this is not possible, a compile error is emitted instead. always_tail, /// Guarantees that the call will inlined at the callsite. /// If this is not possible, a compile error is emitted instead. always_inline, /// Evaluates the call at compile-time. If the call cannot be completed at /// compile-time, a compile error is emitted instead. compile_time, }; }; {#end_syntax_block#} ++ , ++ .arguments = &.{ ++ "options: std.builtin.CallOptions", ++ "function: anytype", ++ "args: anytype", ++ }, ++ }, ++ .{ ++ .name = "@cDefine", ++ .signature = "@cDefine(comptime name: []u8, value)", ++ .snippet = "@cDefine(${1:comptime name: []u8}, ${2:value})", ++ .documentation = ++ \\This function can only occur inside `@cImport`. ++ \\ ++ \\This appends `#define $name $value` to the `@cImport` temporary buffer. ++ \\ ++ \\To define without a value, like this:`#define _GNU_SOURCE` ++ \\ ++ \\Use the void value, like this: ++ \\ ++ \\```zig ++ \\@cDefine("_GNU_SOURCE", {}) ++ \\``` ++ , ++ .arguments = &.{ ++ "comptime name: []u8", ++ "value", ++ }, ++ }, ++ .{ ++ .name = "@cImport", ++ .signature = "@cImport(expression) type", ++ .snippet = "@cImport(${1:expression})", ++ .documentation = ++ \\This function parses C code and imports the functions, types, variables, and compatible macro definitions into a new empty struct type, and then returns that type. ++ \\ ++ \\`expression` is interpreted at compile time. The builtin functions `@cInclude`, `@cDefine`, and `@cUndef` work within this expression, appending to a temporary buffer which is then parsed as C code. ++ \\ ++ \\Usually you should only have one `@cImport` in your entire application, because it saves the compiler from invoking clang multiple times, and prevents inline functions from being duplicated. ++ \\ ++ \\Reasons for having multiple `@cImport` expressions would be: ++ \\ - To avoid a symbol collision, for example if foo.h and bar.h both `#define CONNECTION_COUNT` ++ \\ - To analyze the C code with different preprocessor defines ++ , ++ .arguments = &.{ ++ "expression", ++ }, ++ }, ++ .{ ++ .name = "@cInclude", ++ .signature = "@cInclude(comptime path: []u8)", ++ .snippet = "@cInclude(${1:comptime path: []u8})", ++ .documentation = ++ \\This function can only occur inside `@cImport`. ++ \\ ++ \\This appends `#include <$path>\n` to the `c_import` temporary buffer. ++ , ++ .arguments = &.{ ++ "comptime path: []u8", ++ }, ++ }, ++ .{ ++ .name = "@clz", ++ .signature = "@clz(operand: anytype)", ++ .snippet = "@clz(${1:operand: anytype})", ++ .documentation = ++ \\`@TypeOf(operand)` must be an integer type or an integer vector type. ++ \\ ++ \\`operand` may be an [integer](https://ziglang.org/documentation/0.10.0/#Integers) or [vector](https://ziglang.org/documentation/0.10.0/#Vectors). ++ \\ ++ \\This function counts the number of most-significant (leading in a big-Endian sense) zeroes in an integer. ++ \\ ++ \\If `operand` is a [comptime](https://ziglang.org/documentation/0.10.0/#comptime)-known integer, the return type is `comptime_int`. Otherwise, the return type is an unsigned integer or vector of unsigned integers with the minimum number of bits that can represent the bit count of the integer type. ++ \\ ++ \\If `operand` is zero, `@clz` returns the bit width of integer type `T`. ++ , ++ .arguments = &.{ ++ "operand: anytype", ++ }, ++ }, ++ .{ ++ .name = "@cmpxchgStrong", ++ .signature = "@cmpxchgStrong(comptime T: type, ptr: *T, expected_value: T, new_value: T, success_order: AtomicOrder, fail_order: AtomicOrder) ?T", ++ .snippet = "@cmpxchgStrong(${1:comptime T: type}, ${2:ptr: *T}, ${3:expected_value: T}, ${4:new_value: T}, ${5:success_order: AtomicOrder}, ${6:fail_order: AtomicOrder})", ++ .documentation = ++ \\This function performs a strong atomic compare exchange operation. It's the equivalent of this code, except atomic: ++ \\ ++ \\```zig ++ \\fn cmpxchgStrongButNotAtomic(comptime T: type, ptr: *T, expected_value: T, new_value: T) ?T { ++ \\ const old_value = ptr.*; ++ \\ if (old_value == expected_value) { ++ \\ ptr.* = new_value; ++ \\ return null; ++ \\ } else { ++ \\ return old_value; ++ \\ } ++ \\} ++ \\``` ++ \\ ++ \\If you are using cmpxchg in a loop, [@cmpxchgWeak](https://ziglang.org/documentation/0.10.0/#cmpxchgWeak) is the better choice, because it can be implemented more efficiently in machine instructions. ++ \\ ++ \\`T` must be a pointer, a `bool`, a float, an integer or an enum. ++ \\ ++ \\`@typeInfo(@TypeOf(ptr)).Pointer.alignment` must be `>= @sizeOf(T).` ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "ptr: *T", ++ "expected_value: T", ++ "new_value: T", ++ "success_order: AtomicOrder", ++ "fail_order: AtomicOrder", ++ }, ++ }, ++ .{ ++ .name = "@cmpxchgWeak", ++ .signature = "@cmpxchgWeak(comptime T: type, ptr: *T, expected_value: T, new_value: T, success_order: AtomicOrder, fail_order: AtomicOrder) ?T", ++ .snippet = "@cmpxchgWeak(${1:comptime T: type}, ${2:ptr: *T}, ${3:expected_value: T}, ${4:new_value: T}, ${5:success_order: AtomicOrder}, ${6:fail_order: AtomicOrder})", ++ .documentation = ++ \\This function performs a weak atomic compare exchange operation. It's the equivalent of this code, except atomic:

{#syntax_block|zig|cmpxchgWeakButNotAtomic#} fn cmpxchgWeakButNotAtomic(comptime T: type, ptr: *T, expected_value: T, new_value: T) ?T { const old_value = ptr.*; if (old_value == expected_value and usuallyTrueButSometimesFalse()) { ptr.* = new_value; return null; } else { return old_value; } } {#end_syntax_block#} ++ \\ ++ \\If you are using cmpxchg in a loop, the sporadic failure will be no problem, and `cmpxchgWeak` is the better choice, because it can be implemented more efficiently in machine instructions. However if you need a stronger guarantee, use [@cmpxchgStrong](https://ziglang.org/documentation/0.10.0/#cmpxchgStrong). ++ \\ ++ \\`T` must be a pointer, a `bool`, a float, an integer or an enum. ++ \\ ++ \\`@typeInfo(@TypeOf(ptr)).Pointer.alignment` must be `>= @sizeOf(T).` ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "ptr: *T", ++ "expected_value: T", ++ "new_value: T", ++ "success_order: AtomicOrder", ++ "fail_order: AtomicOrder", ++ }, ++ }, ++ .{ ++ .name = "@compileError", ++ .signature = "@compileError(comptime msg: []u8)", ++ .snippet = "@compileError(${1:comptime msg: []u8})", ++ .documentation = ++ \\This function, when semantically analyzed, causes a compile error with the message `msg`. ++ \\ ++ \\There are several ways that code avoids being semantically checked, such as using `if` or `switch` with compile time constants, and `comptime` functions. ++ , ++ .arguments = &.{ ++ "comptime msg: []u8", ++ }, ++ }, ++ .{ ++ .name = "@compileLog", ++ .signature = "@compileLog(args: ...)", ++ .snippet = "@compileLog(${1:args: ...})", ++ .documentation = ++ \\This function prints the arguments passed to it at compile-time. ++ \\ ++ \\To prevent accidentally leaving compile log statements in a codebase, a compilation error is added to the build, pointing to the compile log statement. This error prevents code from being generated, but does not otherwise interfere with analysis. ++ \\ ++ \\This function can be used to do "printf debugging" on compile-time executing code. ++ \\ ++ \\```zig ++ \\const print = @import("std").debug.print; ++ \\ ++ \\const num1 = blk: { ++ \\ var val1: i32 = 99; ++ \\ @compileLog("comptime val1 = ", val1); ++ \\ val1 = val1 + 1; ++ \\ break :blk val1; ++ \\}; ++ \\ ++ \\test "main" { ++ \\ @compileLog("comptime in main"); ++ \\ ++ \\ print("Runtime in main, num1 = {}.\n", .{num1}); ++ \\} ++ \\``` ++ \\ ++ \\If all `@compileLog` calls are removed or not encountered by analysis, the program compiles successfully and the generated executable prints:

{#code_begin|test|without_compileLog#} const print = @import("std").debug.print; const num1 = blk: { var val1: i32 = 99; val1 = val1 + 1; break :blk val1; }; test "main" { print("Runtime in main, num1 = {}.\n", .{num1}); }` ++ , ++ .arguments = &.{ ++ "args: ...", ++ }, ++ }, ++ .{ ++ .name = "@ctz", ++ .signature = "@ctz(operand: anytype)", ++ .snippet = "@ctz(${1:operand: anytype})", ++ .documentation = ++ \\`@TypeOf(operand)` must be an integer type or an integer vector type. ++ \\ ++ \\`operand` may be an [integer](https://ziglang.org/documentation/0.10.0/#Integers) or [vector](https://ziglang.org/documentation/0.10.0/#Vectors). ++ \\ ++ \\This function counts the number of least-significant (trailing in a big-Endian sense) zeroes in an integer. ++ \\ ++ \\If `operand` is a [comptime](https://ziglang.org/documentation/0.10.0/#comptime)-known integer, the return type is `comptime_int`. Otherwise, the return type is an unsigned integer or vector of unsigned integers with the minimum number of bits that can represent the bit count of the integer type. ++ \\ ++ \\If `operand` is zero, `@ctz` returns the bit width of integer type `T`. ++ , ++ .arguments = &.{ ++ "operand: anytype", ++ }, ++ }, ++ .{ ++ .name = "@cUndef", ++ .signature = "@cUndef(comptime name: []u8)", ++ .snippet = "@cUndef(${1:comptime name: []u8})", ++ .documentation = ++ \\This function can only occur inside `@cImport`. ++ \\ ++ \\This appends `#undef $name` to the `@cImport` temporary buffer. ++ , ++ .arguments = &.{ ++ "comptime name: []u8", ++ }, ++ }, ++ .{ ++ .name = "@divExact", ++ .signature = "@divExact(numerator: T, denominator: T) T", ++ .snippet = "@divExact(${1:numerator: T}, ${2:denominator: T})", ++ .documentation = ++ \\Exact division. Caller guarantees `denominator != 0` and `@divTrunc(numerator, denominator) * denominator == numerator`. ++ \\ - `@divExact(6, 3) == 2` ++ \\ - `@divExact(a, b) * b == a` ++ \\ ++ \\For a function that returns a possible error code, use `@import("std").math.divExact`. ++ , ++ .arguments = &.{ ++ "numerator: T", ++ "denominator: T", ++ }, ++ }, ++ .{ ++ .name = "@divFloor", ++ .signature = "@divFloor(numerator: T, denominator: T) T", ++ .snippet = "@divFloor(${1:numerator: T}, ${2:denominator: T})", ++ .documentation = ++ \\Floored division. Rounds toward negative infinity. For unsigned integers it is the same as `numerator / denominator`. Caller guarantees `denominator != 0` and `!(@typeInfo(T) == .Int and T.is_signed and numerator == std.math.minInt(T) and denominator == -1)`. ++ \\ - `@divFloor(-5, 3) == -2` ++ \\ - `(@divFloor(a, b) * b) + @mod(a, b) == a` ++ \\ ++ \\For a function that returns a possible error code, use `@import("std").math.divFloor`. ++ , ++ .arguments = &.{ ++ "numerator: T", ++ "denominator: T", ++ }, ++ }, ++ .{ ++ .name = "@divTrunc", ++ .signature = "@divTrunc(numerator: T, denominator: T) T", ++ .snippet = "@divTrunc(${1:numerator: T}, ${2:denominator: T})", ++ .documentation = ++ \\Truncated division. Rounds toward zero. For unsigned integers it is the same as `numerator / denominator`. Caller guarantees `denominator != 0` and `!(@typeInfo(T) == .Int and T.is_signed and numerator == std.math.minInt(T) and denominator == -1)`. ++ \\ - `@divTrunc(-5, 3) == -1` ++ \\ - `(@divTrunc(a, b) * b) + @rem(a, b) == a` ++ \\ ++ \\For a function that returns a possible error code, use `@import("std").math.divTrunc`. ++ , ++ .arguments = &.{ ++ "numerator: T", ++ "denominator: T", ++ }, ++ }, ++ .{ ++ .name = "@embedFile", ++ .signature = "@embedFile(comptime path: []const u8) *const [N:0]u8", ++ .snippet = "@embedFile(${1:comptime path: []const u8})", ++ .documentation = ++ \\This function returns a compile time constant pointer to null-terminated, fixed-size array with length equal to the byte count of the file given by `path`. The contents of the array are the contents of the file. This is equivalent to a [string literal](https://ziglang.org/documentation/0.10.0/#String-Literals-and-Unicode-Code-Point-Literals) with the file contents. ++ \\ ++ \\`path` is absolute or relative to the current file, just like `@import`. ++ , ++ .arguments = &.{ ++ "comptime path: []const u8", ++ }, ++ }, ++ .{ ++ .name = "@enumToInt", ++ .signature = "@enumToInt(enum_or_tagged_union: anytype) anytype", ++ .snippet = "@enumToInt(${1:enum_or_tagged_union: anytype})", ++ .documentation = ++ \\Converts an enumeration value into its integer tag type. When a tagged union is passed, the tag value is used as the enumeration value. ++ \\ ++ \\If there is only one possible enum value, the result is a `comptime_int` known at [comptime](https://ziglang.org/documentation/0.10.0/#comptime). ++ , ++ .arguments = &.{ ++ "enum_or_tagged_union: anytype", ++ }, ++ }, ++ .{ ++ .name = "@errorName", ++ .signature = "@errorName(err: anyerror) [:0]const u8", ++ .snippet = "@errorName(${1:err: anyerror})", ++ .documentation = ++ \\This function returns the string representation of an error. The string representation of `error.OutOfMem` is `"OutOfMem"`. ++ \\ ++ \\If there are no calls to `@errorName` in an entire application, or all calls have a compile-time known value for `err`, then no error name table will be generated. ++ , ++ .arguments = &.{ ++ "err: anyerror", ++ }, ++ }, ++ .{ ++ .name = "@errorReturnTrace", ++ .signature = "@errorReturnTrace() ?*builtin.StackTrace", ++ .snippet = "@errorReturnTrace()", ++ .documentation = ++ \\If the binary is built with error return tracing, and this function is invoked in a function that calls a function with an error or error union return type, returns a stack trace object. Otherwise returns [null](https://ziglang.org/documentation/0.10.0/#null). ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@errorToInt", ++ .signature = "@errorToInt(err: anytype) std.meta.Int(.unsigned, @sizeOf(anyerror) * 8)", ++ .snippet = "@errorToInt(${1:err: anytype})", ++ .documentation = ++ \\Supports the following types: ++ \\ - [The Global Error Set](https://ziglang.org/documentation/0.10.0/#The-Global-Error-Set) ++ \\ - [Error Set Type](https://ziglang.org/documentation/0.10.0/#Error-Set-Type) ++ \\ - [Error Union Type](https://ziglang.org/documentation/0.10.0/#Error-Union-Type) ++ \\ ++ \\Converts an error to the integer representation of an error. ++ \\ ++ \\It is generally recommended to avoid this cast, as the integer representation of an error is not stable across source code changes. ++ , ++ .arguments = &.{ ++ "err: anytype", ++ }, ++ }, ++ .{ ++ .name = "@errSetCast", ++ .signature = "@errSetCast(comptime T: DestType, value: anytype) DestType", ++ .snippet = "@errSetCast(${1:comptime T: DestType}, ${2:value: anytype})", ++ .documentation = ++ \\Converts an error value from one error set to another error set. Attempting to convert an error which is not in the destination error set results in safety-protected [Undefined Behavior](https://ziglang.org/documentation/0.10.0/#Undefined-Behavior). ++ , ++ .arguments = &.{ ++ "comptime T: DestType", ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@export", ++ .signature = "@export(declaration, comptime options: std.builtin.ExportOptions) void", ++ .snippet = "@export(${1:declaration}, ${2:comptime options: std.builtin.ExportOptions})", ++ .documentation = ++ \\Creates a symbol in the output object file. ++ \\ ++ \\`declaration` must be one of two things: ++ \\ - An identifier (`x`) identifying a [function](https://ziglang.org/documentation/0.10.0/#Functions) or a [variable](https://ziglang.org/documentation/0.10.0/#Container-Level-Variables). ++ \\ - Field access (`x.y`) looking up a [function](https://ziglang.org/documentation/0.10.0/#Functions) or a [variable](https://ziglang.org/documentation/0.10.0/#Container-Level-Variables). ++ \\ ++ \\This builtin can be called from a [comptime](https://ziglang.org/documentation/0.10.0/#comptime) block to conditionally export symbols. When `declaration` is a function with the C calling convention and `options.linkage` is `Strong`, this is equivalent to the `export` keyword used on a function: ++ \\ ++ \\```zig ++ \\comptime { ++ \\ @export(internalName, .{ .name = "foo", .linkage = .Strong }); ++ \\} ++ \\ ++ \\fn internalName() callconv(.C) void {} ++ \\``` ++ \\ ++ \\This is equivalent to: ++ \\ ++ \\```zig ++ \\export fn foo() void {} ++ \\``` ++ \\ ++ \\Note that even when using `export`, the `@"foo"` syntax for [identifiers](https://ziglang.org/documentation/0.10.0/#Identifiers) can be used to choose any string for the symbol name: ++ \\ ++ \\```zig ++ \\export fn @"A function name that is a complete sentence."() void {} ++ \\``` ++ \\ ++ \\When looking at the resulting object, you can see the symbol is used verbatim: ++ \\ ++ \\```zig ++ \\00000000000001f0 T A function name that is a complete sentence. ++ \\``` ++ , ++ .arguments = &.{ ++ "declaration", ++ "comptime options: std.builtin.ExportOptions", ++ }, ++ }, ++ .{ ++ .name = "@extern", ++ .signature = "@extern(T: type, comptime options: std.builtin.ExternOptions) *T", ++ .snippet = "@extern(${1:T: type}, ${2:comptime options: std.builtin.ExternOptions})", ++ .documentation = ++ \\Creates a reference to an external symbol in the output object file. ++ , ++ .arguments = &.{ ++ "T: type", ++ "comptime options: std.builtin.ExternOptions", ++ }, ++ }, ++ .{ ++ .name = "@fence", ++ .signature = "@fence(order: AtomicOrder)", ++ .snippet = "@fence(${1:order: AtomicOrder})", ++ .documentation = ++ \\The `fence` function is used to introduce happens-before edges between operations. ++ \\ ++ \\`AtomicOrder` can be found with `@import("std").builtin.AtomicOrder`. ++ , ++ .arguments = &.{ ++ "order: AtomicOrder", ++ }, ++ }, ++ .{ ++ .name = "@field", ++ .signature = "@field(lhs: anytype, comptime field_name: []const u8) (field)", ++ .snippet = "@field(${1:lhs: anytype}, ${2:comptime field_name: []const u8})", ++ .documentation = ++ \\Performs field access by a compile-time string. Works on both fields and declarations.

{#code_begin|test|field_decl_access_by_string#} const std = @import("std"); const Point = struct { x: u32, y: u32, pub var z: u32 = 1; }; test "field access by string" { const expect = std.testing.expect; var p = Point{ .x = 0, .y = 0 }; @field(p, "x") = 4; @field(p, "y") = @field(p, "x") + 1; try expect(@field(p, "x") == 4); try expect(@field(p, "y") == 5); } test "decl access by string" { const expect = std.testing.expect; try expect(@field(Point, "z") == 1); @field(Point, "z") = 2; try expect(@field(Point, "z") == 2); }` ++ , ++ .arguments = &.{ ++ "lhs: anytype", ++ "comptime field_name: []const u8", ++ }, ++ }, ++ .{ ++ .name = "@fieldParentPtr", ++ .signature = "@fieldParentPtr(comptime ParentType: type, comptime field_name: []const u8, field_ptr: *T) *ParentType", ++ .snippet = "@fieldParentPtr(${1:comptime ParentType: type}, ${2:comptime field_name: []const u8}, ${3:field_ptr: *T})", ++ .documentation = ++ \\Given a pointer to a field, returns the base pointer of a struct. ++ , ++ .arguments = &.{ ++ "comptime ParentType: type", ++ "comptime field_name: []const u8", ++ "field_ptr: *T", ++ }, ++ }, ++ .{ ++ .name = "@floatCast", ++ .signature = "@floatCast(comptime DestType: type, value: anytype) DestType", ++ .snippet = "@floatCast(${1:comptime DestType: type}, ${2:value: anytype})", ++ .documentation = ++ \\Convert from one float type to another. This cast is safe, but may cause the numeric value to lose precision. ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@floatToInt", ++ .signature = "@floatToInt(comptime DestType: type, float: anytype) DestType", ++ .snippet = "@floatToInt(${1:comptime DestType: type}, ${2:float: anytype})", ++ .documentation = ++ \\Converts the integer part of a floating point number to the destination type. ++ \\ ++ \\If the integer part of the floating point number cannot fit in the destination type, it invokes safety-checked [Undefined Behavior](https://ziglang.org/documentation/0.10.0/#Undefined-Behavior). ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "float: anytype", ++ }, ++ }, ++ .{ ++ .name = "@frame", ++ .signature = "@frame() *@Frame(func)", ++ .snippet = "@frame()", ++ .documentation = ++ \\This function returns a pointer to the frame for a given function. This type can be [coerced](https://ziglang.org/documentation/0.10.0/#Type-Coercion) to `anyframe->T` and to `anyframe`, where `T` is the return type of the function in scope. ++ \\ ++ \\This function does not mark a suspension point, but it does cause the function in scope to become an [async function](https://ziglang.org/documentation/0.10.0/#Async-Functions). ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@Frame", ++ .signature = "@Frame(func: anytype) type", ++ .snippet = "@Frame(${1:func: anytype})", ++ .documentation = ++ \\This function returns the frame type of a function. This works for [Async Functions](https://ziglang.org/documentation/0.10.0/#Async-Functions) as well as any function without a specific calling convention. ++ \\ ++ \\This type is suitable to be used as the return type of [async](https://ziglang.org/documentation/0.10.0/#Async-and-Await) which allows one to, for example, heap-allocate an async function frame:

{#code_begin|test|heap_allocated_frame#} {#backend_stage1#} const std = @import("std"); test "heap allocated frame" { const frame = try std.heap.page_allocator.create(@Frame(func)); frame.* = async func(); } fn func() void { suspend {} }` ++ , ++ .arguments = &.{ ++ "func: anytype", ++ }, ++ }, ++ .{ ++ .name = "@frameAddress", ++ .signature = "@frameAddress() usize", ++ .snippet = "@frameAddress()", ++ .documentation = ++ \\This function returns the base pointer of the current stack frame. ++ \\ ++ \\The implications of this are target-specific and not consistent across all platforms. The frame address may not be available in release mode due to aggressive optimizations. ++ \\ ++ \\This function is only valid within function scope. ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@frameSize", ++ .signature = "@frameSize(func: anytype) usize", ++ .snippet = "@frameSize(${1:func: anytype})", ++ .documentation = ++ \\This is the same as `@sizeOf(@Frame(func))`, where `func` may be runtime-known. ++ \\ ++ \\This function is typically used in conjunction with [@asyncCall](https://ziglang.org/documentation/0.10.0/#asyncCall). ++ , ++ .arguments = &.{ ++ "func: anytype", ++ }, ++ }, ++ .{ ++ .name = "@hasDecl", ++ .signature = "@hasDecl(comptime Container: type, comptime name: []const u8) bool", ++ .snippet = "@hasDecl(${1:comptime Container: type}, ${2:comptime name: []const u8})", ++ .documentation = ++ \\Returns whether or not a [struct](https://ziglang.org/documentation/0.10.0/#struct), [enum](https://ziglang.org/documentation/0.10.0/#enum), or [union](https://ziglang.org/documentation/0.10.0/#union) has a declaration matching `name`.

{#code_begin|test|hasDecl#} const std = @import("std"); const expect = std.testing.expect; const Foo = struct { nope: i32, pub var blah = "xxx"; const hi = 1; }; test "@hasDecl" { try expect(@hasDecl(Foo, "blah")); // Even though `hi` is private, @hasDecl returns true because this test is // in the same file scope as Foo. It would return false if Foo was declared // in a different file. try expect(@hasDecl(Foo, "hi")); // @hasDecl is for declarations; not fields. try expect(!@hasDecl(Foo, "nope")); try expect(!@hasDecl(Foo, "nope1234")); }` ++ , ++ .arguments = &.{ ++ "comptime Container: type", ++ "comptime name: []const u8", ++ }, ++ }, ++ .{ ++ .name = "@hasField", ++ .signature = "@hasField(comptime Container: type, comptime name: []const u8) bool", ++ .snippet = "@hasField(${1:comptime Container: type}, ${2:comptime name: []const u8})", ++ .documentation = ++ \\Returns whether the field name of a struct, union, or enum exists. ++ \\ ++ \\The result is a compile time constant. ++ \\ ++ \\It does not include functions, variables, or constants. ++ , ++ .arguments = &.{ ++ "comptime Container: type", ++ "comptime name: []const u8", ++ }, ++ }, ++ .{ ++ .name = "@import", ++ .signature = "@import(comptime path: []u8) type", ++ .snippet = "@import(${1:comptime path: []u8})", ++ .documentation = ++ \\This function finds a zig file corresponding to `path` and adds it to the build, if it is not already added. ++ \\ ++ \\Zig source files are implicitly structs, with a name equal to the file's basename with the extension truncated. `@import` returns the struct type corresponding to the file. ++ \\ ++ \\Declarations which have the `pub` keyword may be referenced from a different source file than the one they are declared in. ++ \\ ++ \\`path` can be a relative path or it can be the name of a package. If it is a relative path, it is relative to the file that contains the `@import` function call. ++ \\ ++ \\The following packages are always available: ++ \\ - `@import("std")` - Zig Standard Library ++ \\ - `@import("builtin")` - Target-specific information. The command `zig build-exe --show-builtin` outputs the source to stdout for reference. ++ \\ - `@import("root")` - Points to the root source file. This is usually `src/main.zig` but it depends on what file is chosen to be built. ++ , ++ .arguments = &.{ ++ "comptime path: []u8", ++ }, ++ }, ++ .{ ++ .name = "@intCast", ++ .signature = "@intCast(comptime DestType: type, int: anytype) DestType", ++ .snippet = "@intCast(${1:comptime DestType: type}, ${2:int: anytype})", ++ .documentation = ++ \\Converts an integer to another integer while keeping the same numerical value. Attempting to convert a number which is out of range of the destination type results in safety-protected [Undefined Behavior](https://ziglang.org/documentation/0.10.0/#Undefined-Behavior). ++ \\ ++ \\```zig ++ \\test "integer cast panic" { ++ \\ var a: u16 = 0xabcd; ++ \\ var b: u8 = @intCast(u8, a); ++ \\ _ = b; ++ \\} ++ \\``` ++ \\ ++ \\To truncate the significant bits of a number out of range of the destination type, use [@truncate](https://ziglang.org/documentation/0.10.0/#truncate). ++ \\ ++ \\If `T` is `comptime_int`, then this is semantically equivalent to [Type Coercion](https://ziglang.org/documentation/0.10.0/#Type-Coercion). ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "int: anytype", ++ }, ++ }, ++ .{ ++ .name = "@intToEnum", ++ .signature = "@intToEnum(comptime DestType: type, integer: anytype) DestType", ++ .snippet = "@intToEnum(${1:comptime DestType: type}, ${2:integer: anytype})", ++ .documentation = ++ \\Converts an integer into an [enum](https://ziglang.org/documentation/0.10.0/#enum) value. ++ \\ ++ \\Attempting to convert an integer which represents no value in the chosen enum type invokes safety-checked [Undefined Behavior](https://ziglang.org/documentation/0.10.0/#Undefined-Behavior). ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "integer: anytype", ++ }, ++ }, ++ .{ ++ .name = "@intToError", ++ .signature = "@intToError(value: std.meta.Int(.unsigned, @sizeOf(anyerror) * 8)) anyerror", ++ .snippet = "@intToError(${1:value: std.meta.Int(.unsigned, @sizeOf(anyerror) * 8)})", ++ .documentation = ++ \\Converts from the integer representation of an error into [The Global Error Set](https://ziglang.org/documentation/0.10.0/#The-Global-Error-Set) type. ++ \\ ++ \\It is generally recommended to avoid this cast, as the integer representation of an error is not stable across source code changes. ++ \\ ++ \\Attempting to convert an integer that does not correspond to any error results in safety-protected [Undefined Behavior](https://ziglang.org/documentation/0.10.0/#Undefined-Behavior). ++ , ++ .arguments = &.{ ++ "value: std.meta.Int(.unsigned, @sizeOf(anyerror) * 8)", ++ }, ++ }, ++ .{ ++ .name = "@intToFloat", ++ .signature = "@intToFloat(comptime DestType: type, int: anytype) DestType", ++ .snippet = "@intToFloat(${1:comptime DestType: type}, ${2:int: anytype})", ++ .documentation = ++ \\Converts an integer to the closest floating point representation. To convert the other way, use [@floatToInt](https://ziglang.org/documentation/0.10.0/#floatToInt). This cast is always safe. ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "int: anytype", ++ }, ++ }, ++ .{ ++ .name = "@intToPtr", ++ .signature = "@intToPtr(comptime DestType: type, address: usize) DestType", ++ .snippet = "@intToPtr(${1:comptime DestType: type}, ${2:address: usize})", ++ .documentation = ++ \\Converts an integer to a [pointer](https://ziglang.org/documentation/0.10.0/#Pointers). To convert the other way, use [@ptrToInt](https://ziglang.org/documentation/0.10.0/#ptrToInt). Casting an address of 0 to a destination type which in not [optional](https://ziglang.org/documentation/0.10.0/#Optional-Pointers) and does not have the `allowzero` attribute will result in a [Pointer Cast Invalid Null](https://ziglang.org/documentation/0.10.0/#Pointer-Cast-Invalid-Null) panic when runtime safety checks are enabled. ++ \\ ++ \\If the destination pointer type does not allow address zero and `address` is zero, this invokes safety-checked [Undefined Behavior](https://ziglang.org/documentation/0.10.0/#Undefined-Behavior). ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "address: usize", ++ }, ++ }, ++ .{ ++ .name = "@max", ++ .signature = "@max(a: T, b: T) T", ++ .snippet = "@max(${1:a: T}, ${2:b: T})", ++ .documentation = ++ \\Returns the maximum value of `a` and `b`. This builtin accepts integers, floats, and vectors of either. In the latter case, the operation is performed element wise. ++ \\ ++ \\NaNs are handled as follows: if one of the operands of a (pairwise) operation is NaN, the other operand is returned. If both operands are NaN, NaN is returned. ++ , ++ .arguments = &.{ ++ "a: T", ++ "b: T", ++ }, ++ }, ++ .{ ++ .name = "@memcpy", ++ .signature = "@memcpy(noalias dest: [*]u8, noalias source: [*]const u8, byte_count: usize)", ++ .snippet = "@memcpy(${1:noalias dest: [*]u8}, ${2:noalias source: [*]const u8}, ${3:byte_count: usize})", ++ .documentation = ++ \\This function copies bytes from one region of memory to another. `dest` and `source` are both pointers and must not overlap. ++ \\ ++ \\This function is a low level intrinsic with no safety mechanisms. Most code should not use this function, instead using something like this: ++ \\ ++ \\```zig ++ \\for (source[0..byte_count]) |b, i| dest[i] = b; ++ \\``` ++ \\ ++ \\The optimizer is intelligent enough to turn the above snippet into a memcpy. ++ \\ ++ \\There is also a standard library function for this: ++ \\ ++ \\```zig ++ \\const mem = @import("std").mem; ++ \\mem.copy(u8, dest[0..byte_count], source[0..byte_count]); ++ \\``` ++ , ++ .arguments = &.{ ++ "noalias dest: [*]u8", ++ "noalias source: [*]const u8", ++ "byte_count: usize", ++ }, ++ }, ++ .{ ++ .name = "@memset", ++ .signature = "@memset(dest: [*]u8, c: u8, byte_count: usize)", ++ .snippet = "@memset(${1:dest: [*]u8}, ${2:c: u8}, ${3:byte_count: usize})", ++ .documentation = ++ \\This function sets a region of memory to `c`. `dest` is a pointer. ++ \\ ++ \\This function is a low level intrinsic with no safety mechanisms. Most code should not use this function, instead using something like this: ++ \\ ++ \\```zig ++ \\for (dest[0..byte_count]) |*b| b.* = c; ++ \\``` ++ \\ ++ \\The optimizer is intelligent enough to turn the above snippet into a memset. ++ \\ ++ \\There is also a standard library function for this: ++ \\ ++ \\```zig ++ \\const mem = @import("std").mem; ++ \\mem.set(u8, dest, c); ++ \\``` ++ , ++ .arguments = &.{ ++ "dest: [*]u8", ++ "c: u8", ++ "byte_count: usize", ++ }, ++ }, ++ .{ ++ .name = "@min", ++ .signature = "@min(a: T, b: T) T", ++ .snippet = "@min(${1:a: T}, ${2:b: T})", ++ .documentation = ++ \\Returns the minimum value of `a` and `b`. This builtin accepts integers, floats, and vectors of either. In the latter case, the operation is performed element wise. ++ \\ ++ \\NaNs are handled as follows: if one of the operands of a (pairwise) operation is NaN, the other operand is returned. If both operands are NaN, NaN is returned. ++ , ++ .arguments = &.{ ++ "a: T", ++ "b: T", ++ }, ++ }, ++ .{ ++ .name = "@wasmMemorySize", ++ .signature = "@wasmMemorySize(index: u32) u32", ++ .snippet = "@wasmMemorySize(${1:index: u32})", ++ .documentation = ++ \\This function returns the size of the Wasm memory identified by `index` as an unsigned value in units of Wasm pages. Note that each Wasm page is 64KB in size. ++ \\ ++ \\This function is a low level intrinsic with no safety mechanisms usually useful for allocator designers targeting Wasm. So unless you are writing a new allocator from scratch, you should use something like `@import("std").heap.WasmPageAllocator`. ++ , ++ .arguments = &.{ ++ "index: u32", ++ }, ++ }, ++ .{ ++ .name = "@wasmMemoryGrow", ++ .signature = "@wasmMemoryGrow(index: u32, delta: u32) i32", ++ .snippet = "@wasmMemoryGrow(${1:index: u32}, ${2:delta: u32})", ++ .documentation = ++ \\This function increases the size of the Wasm memory identified by `index` by `delta` in units of unsigned number of Wasm pages. Note that each Wasm page is 64KB in size. On success, returns previous memory size; on failure, if the allocation fails, returns -1. ++ \\ ++ \\This function is a low level intrinsic with no safety mechanisms usually useful for allocator designers targeting Wasm. So unless you are writing a new allocator from scratch, you should use something like `@import("std").heap.WasmPageAllocator`.

{#code_begin|test|wasmMemoryGrow#} const std = @import("std"); const native_arch = @import("builtin").target.cpu.arch; const expect = std.testing.expect; test "@wasmMemoryGrow" { if (native_arch != .wasm32) return error.SkipZigTest; var prev = @wasmMemorySize(0); try expect(prev == @wasmMemoryGrow(0, 1)); try expect(prev + 1 == @wasmMemorySize(0)); }` ++ , ++ .arguments = &.{ ++ "index: u32", ++ "delta: u32", ++ }, ++ }, ++ .{ ++ .name = "@mod", ++ .signature = "@mod(numerator: T, denominator: T) T", ++ .snippet = "@mod(${1:numerator: T}, ${2:denominator: T})", ++ .documentation = ++ \\Modulus division. For unsigned integers this is the same as `numerator % denominator`. Caller guarantees `denominator > 0`, otherwise the operation will result in a [Remainder Division by Zero](https://ziglang.org/documentation/0.10.0/#Remainder-Division-by-Zero) when runtime safety checks are enabled. ++ \\ - `@mod(-5, 3) == 1` ++ \\ - `(@divFloor(a, b) * b) + @mod(a, b) == a` ++ \\ ++ \\For a function that returns an error code, see `@import("std").math.mod`. ++ , ++ .arguments = &.{ ++ "numerator: T", ++ "denominator: T", ++ }, ++ }, ++ .{ ++ .name = "@mulWithOverflow", ++ .signature = "@mulWithOverflow(comptime T: type, a: T, b: T, result: *T) bool", ++ .snippet = "@mulWithOverflow(${1:comptime T: type}, ${2:a: T}, ${3:b: T}, ${4:result: *T})", ++ .documentation = ++ \\Performs `result.* = a * b`. If overflow or underflow occurs, stores the overflowed bits in `result` and returns `true`. If no overflow or underflow occurs, returns `false`. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "a: T", ++ "b: T", ++ "result: *T", ++ }, ++ }, ++ .{ ++ .name = "@panic", ++ .signature = "@panic(message: []const u8) noreturn", ++ .snippet = "@panic(${1:message: []const u8})", ++ .documentation = ++ \\Invokes the panic handler function. By default the panic handler function calls the public `panic` function exposed in the root source file, or if there is not one specified, the `std.builtin.default_panic` function from `std/builtin.zig`. ++ \\ ++ \\Generally it is better to use `@import("std").debug.panic`. However, `@panic` can be useful for 2 scenarios: ++ \\ - From library code, calling the programmer's panic function if they exposed one in the root source file. ++ \\ - When mixing C and Zig code, calling the canonical panic implementation across multiple .o files. ++ , ++ .arguments = &.{ ++ "message: []const u8", ++ }, ++ }, ++ .{ ++ .name = "@popCount", ++ .signature = "@popCount(operand: anytype)", ++ .snippet = "@popCount(${1:operand: anytype})", ++ .documentation = ++ \\`@TypeOf(operand)` must be an integer type. ++ \\ ++ \\`operand` may be an [integer](https://ziglang.org/documentation/0.10.0/#Integers) or [vector](https://ziglang.org/documentation/0.10.0/#Vectors). ++ \\ ++ \\Counts the number of bits set in an integer. ++ \\ ++ \\If `operand` is a [comptime](https://ziglang.org/documentation/0.10.0/#comptime)-known integer, the return type is `comptime_int`. Otherwise, the return type is an unsigned integer or vector of unsigned integers with the minimum number of bits that can represent the bit count of the integer type. ++ , ++ .arguments = &.{ ++ "operand: anytype", ++ }, ++ }, ++ .{ ++ .name = "@prefetch", ++ .signature = "@prefetch(ptr: anytype, comptime options: std.builtin.PrefetchOptions)", ++ .snippet = "@prefetch(${1:ptr: anytype}, ${2:comptime options: std.builtin.PrefetchOptions})", ++ .documentation = ++ \\This builtin tells the compiler to emit a prefetch instruction if supported by the target CPU. If the target CPU does not support the requested prefetch instruction, this builtin is a no-op. This function has no effect on the behavior of the program, only on the performance characteristics. ++ \\ ++ \\The `ptr` argument may be any pointer type and determines the memory address to prefetch. This function does not dereference the pointer, it is perfectly legal to pass a pointer to invalid memory to this function and no illegal behavior will result. ++ \\ ++ \\The `options` argument is the following struct:

{#code_begin|syntax|builtin#} /// This data structure is used by the Zig language code generation and /// therefore must be kept in sync with the compiler implementation. pub const PrefetchOptions = struct { /// Whether the prefetch should prepare for a read or a write. rw: Rw = .read, /// 0 means no temporal locality. That is, the data can be immediately /// dropped from the cache after it is accessed. /// /// 3 means high temporal locality. That is, the data should be kept in /// the cache as it is likely to be accessed again soon. locality: u2 = 3, /// The cache that the prefetch should be preformed on. cache: Cache = .data, pub const Rw = enum { read, write, }; pub const Cache = enum { instruction, data, }; };` ++ , ++ .arguments = &.{ ++ "ptr: anytype", ++ "comptime options: std.builtin.PrefetchOptions", ++ }, ++ }, ++ .{ ++ .name = "@ptrCast", ++ .signature = "@ptrCast(comptime DestType: type, value: anytype) DestType", ++ .snippet = "@ptrCast(${1:comptime DestType: type}, ${2:value: anytype})", ++ .documentation = ++ \\Converts a pointer of one type to a pointer of another type. ++ \\ ++ \\[Optional Pointers](https://ziglang.org/documentation/0.10.0/#Optional-Pointers) are allowed. Casting an optional pointer which is [null](https://ziglang.org/documentation/0.10.0/#null) to a non-optional pointer invokes safety-checked [Undefined Behavior](https://ziglang.org/documentation/0.10.0/#Undefined-Behavior). ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@ptrToInt", ++ .signature = "@ptrToInt(value: anytype) usize", ++ .snippet = "@ptrToInt(${1:value: anytype})", ++ .documentation = ++ \\Converts `value` to a `usize` which is the address of the pointer. `value` can be `*T` or `?*T`. ++ \\ ++ \\To convert the other way, use [@intToPtr](https://ziglang.org/documentation/0.10.0/#intToPtr) ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@rem", ++ .signature = "@rem(numerator: T, denominator: T) T", ++ .snippet = "@rem(${1:numerator: T}, ${2:denominator: T})", ++ .documentation = ++ \\Remainder division. For unsigned integers this is the same as `numerator % denominator`. Caller guarantees `denominator > 0`, otherwise the operation will result in a [Remainder Division by Zero](https://ziglang.org/documentation/0.10.0/#Remainder-Division-by-Zero) when runtime safety checks are enabled. ++ \\ - `@rem(-5, 3) == -2` ++ \\ - `(@divTrunc(a, b) * b) + @rem(a, b) == a` ++ \\ ++ \\For a function that returns an error code, see `@import("std").math.rem`. ++ , ++ .arguments = &.{ ++ "numerator: T", ++ "denominator: T", ++ }, ++ }, ++ .{ ++ .name = "@returnAddress", ++ .signature = "@returnAddress() usize", ++ .snippet = "@returnAddress()", ++ .documentation = ++ \\This function returns the address of the next machine code instruction that will be executed when the current function returns. ++ \\ ++ \\The implications of this are target-specific and not consistent across all platforms. ++ \\ ++ \\This function is only valid within function scope. If the function gets inlined into a calling function, the returned address will apply to the calling function. ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@select", ++ .signature = "@select(comptime T: type, pred: @Vector(len, bool), a: @Vector(len, T), b: @Vector(len, T)) @Vector(len, T)", ++ .snippet = "@select(${1:comptime T: type}, ${2:pred: @Vector(len, bool)}, ${3:a: @Vector(len, T)}, ${4:b: @Vector(len, T)})", ++ .documentation = ++ \\Selects values element-wise from `a` or `b` based on `pred`. If `pred[i]` is `true`, the corresponding element in the result will be `a[i]` and otherwise `b[i]`. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "pred: @Vector(len, bool)", ++ "a: @Vector(len, T)", ++ "b: @Vector(len, T)", ++ }, ++ }, ++ .{ ++ .name = "@setAlignStack", ++ .signature = "@setAlignStack(comptime alignment: u29)", ++ .snippet = "@setAlignStack(${1:comptime alignment: u29})", ++ .documentation = ++ \\Ensures that a function will have a stack alignment of at least `alignment` bytes. ++ , ++ .arguments = &.{ ++ "comptime alignment: u29", ++ }, ++ }, ++ .{ ++ .name = "@setCold", ++ .signature = "@setCold(comptime is_cold: bool)", ++ .snippet = "@setCold(${1:comptime is_cold: bool})", ++ .documentation = ++ \\Tells the optimizer that a function is rarely called. ++ , ++ .arguments = &.{ ++ "comptime is_cold: bool", ++ }, ++ }, ++ .{ ++ .name = "@setEvalBranchQuota", ++ .signature = "@setEvalBranchQuota(comptime new_quota: u32)", ++ .snippet = "@setEvalBranchQuota(${1:comptime new_quota: u32})", ++ .documentation = ++ \\Changes the maximum number of backwards branches that compile-time code execution can use before giving up and making a compile error. ++ \\ ++ \\If the `new_quota` is smaller than the default quota (`1000`) or a previously explicitly set quota, it is ignored. ++ \\ ++ \\Example: ++ \\ ++ \\```zig ++ \\test "foo" { ++ \\ comptime { ++ \\ var i = 0; ++ \\ while (i < 1001) : (i += 1) {} ++ \\ } ++ \\} ++ \\``` ++ \\ ++ \\Now we use `@setEvalBranchQuota`:

{#code_begin|test|setEvalBranchQuota#} test "foo" { comptime { @setEvalBranchQuota(1001); var i = 0; while (i < 1001) : (i += 1) {} } }` ++ , ++ .arguments = &.{ ++ "comptime new_quota: u32", ++ }, ++ }, ++ .{ ++ .name = "@setFloatMode", ++ .signature = "@setFloatMode(comptime mode: @import(\"std\").builtin.FloatMode)", ++ .snippet = "@setFloatMode(${1:comptime mode: @import(\"std\").builtin.FloatMode})", ++ .documentation = ++ \\Sets the floating point mode of the current scope. Possible values are: ++ \\ ++ \\```zig ++ \\pub const FloatMode = enum { ++ \\ Strict, ++ \\ Optimized, ++ \\}; ++ \\``` ++ \\ ++ \\ - `Strict` (default) - Floating point operations follow strict IEEE compliance. ++ \\ - `Optimized` - Floating point operations may do all of the following:
    ++ \\ - Assume the arguments and result are not NaN. Optimizations are required to retain defined behavior over NaNs, but the value of the result is undefined. ++ \\ - Assume the arguments and result are not +/-Inf. Optimizations are required to retain defined behavior over +/-Inf, but the value of the result is undefined. ++ \\ - Treat the sign of a zero argument or result as insignificant. ++ \\ - Use the reciprocal of an argument rather than perform division. ++ \\ - Perform floating-point contraction (e.g. fusing a multiply followed by an addition into a fused multiply-add). ++ \\ - Perform algebraically equivalent transformations that may change results in floating point (e.g. reassociate). This is equivalent to `-ffast-math` in GCC.
++ \\ ++ \\The floating point mode is inherited by child scopes, and can be overridden in any scope. You can set the floating point mode in a struct or module scope by using a comptime block. ++ , ++ .arguments = &.{ ++ "comptime mode: @import(\"std\").builtin.FloatMode", ++ }, ++ }, ++ .{ ++ .name = "@setRuntimeSafety", ++ .signature = "@setRuntimeSafety(comptime safety_on: bool) void", ++ .snippet = "@setRuntimeSafety(${1:comptime safety_on: bool})", ++ .documentation = ++ \\Sets whether runtime safety checks are enabled for the scope that contains the function call. ++ \\ ++ \\```zig ++ \\test "@setRuntimeSafety" { ++ \\ // The builtin applies to the scope that it is called in. So here, integer overflow ++ \\ // will not be caught in ReleaseFast and ReleaseSmall modes: ++ \\ // var x: u8 = 255; ++ \\ // x += 1; // undefined behavior in ReleaseFast/ReleaseSmall modes. ++ \\ { ++ \\ // However this block has safety enabled, so safety checks happen here, ++ \\ // even in ReleaseFast and ReleaseSmall modes. ++ \\ @setRuntimeSafety(true); ++ \\ var x: u8 = 255; ++ \\ x += 1; ++ \\ ++ \\ { ++ \\ // The value can be overridden at any scope. So here integer overflow ++ \\ // would not be caught in any build mode. ++ \\ @setRuntimeSafety(false); ++ \\ // var x: u8 = 255; ++ \\ // x += 1; // undefined behavior in all build modes. ++ \\ } ++ \\ } ++ \\} ++ \\``` ++ \\ ++ \\Note: it is [planned](https://github.com/ziglang/zig/issues/978) to replace `@setRuntimeSafety` with `@optimizeFor` ++ , ++ .arguments = &.{ ++ "comptime safety_on: bool", ++ }, ++ }, ++ .{ ++ .name = "@shlExact", ++ .signature = "@shlExact(value: T, shift_amt: Log2T) T", ++ .snippet = "@shlExact(${1:value: T}, ${2:shift_amt: Log2T})", ++ .documentation = ++ \\Performs the left shift operation (`<<`). For unsigned integers, the result is [undefined](https://ziglang.org/documentation/0.10.0/#undefined) if any 1 bits are shifted out. For signed integers, the result is [undefined](https://ziglang.org/documentation/0.10.0/#undefined) if any bits that disagree with the resultant sign bit are shifted out. ++ \\ ++ \\The type of `shift_amt` is an unsigned integer with `log2(@typeInfo(T).Int.bits)` bits. This is because `shift_amt >= @typeInfo(T).Int.bits` is undefined behavior. ++ , ++ .arguments = &.{ ++ "value: T", ++ "shift_amt: Log2T", ++ }, ++ }, ++ .{ ++ .name = "@shlWithOverflow", ++ .signature = "@shlWithOverflow(comptime T: type, a: T, shift_amt: Log2T, result: *T) bool", ++ .snippet = "@shlWithOverflow(${1:comptime T: type}, ${2:a: T}, ${3:shift_amt: Log2T}, ${4:result: *T})", ++ .documentation = ++ \\Performs `result.* = a << b`. If overflow or underflow occurs, stores the overflowed bits in `result` and returns `true`. If no overflow or underflow occurs, returns `false`. ++ \\ ++ \\The type of `shift_amt` is an unsigned integer with `log2(@typeInfo(T).Int.bits)` bits. This is because `shift_amt >= @typeInfo(T).Int.bits` is undefined behavior. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "a: T", ++ "shift_amt: Log2T", ++ "result: *T", ++ }, ++ }, ++ .{ ++ .name = "@shrExact", ++ .signature = "@shrExact(value: T, shift_amt: Log2T) T", ++ .snippet = "@shrExact(${1:value: T}, ${2:shift_amt: Log2T})", ++ .documentation = ++ \\Performs the right shift operation (`>>`). Caller guarantees that the shift will not shift any 1 bits out. ++ \\ ++ \\The type of `shift_amt` is an unsigned integer with `log2(@typeInfo(T).Int.bits)` bits. This is because `shift_amt >= @typeInfo(T).Int.bits` is undefined behavior. ++ , ++ .arguments = &.{ ++ "value: T", ++ "shift_amt: Log2T", ++ }, ++ }, ++ .{ ++ .name = "@shuffle", ++ .signature = "@shuffle(comptime E: type, a: @Vector(a_len, E), b: @Vector(b_len, E), comptime mask: @Vector(mask_len, i32)) @Vector(mask_len, E)", ++ .snippet = "@shuffle(${1:comptime E: type}, ${2:a: @Vector(a_len, E)}, ${3:b: @Vector(b_len, E)}, ${4:comptime mask: @Vector(mask_len, i32)})", ++ .documentation = ++ \\Constructs a new [vector](https://ziglang.org/documentation/0.10.0/#Vectors) by selecting elements from `a` and `b` based on `mask`. ++ \\ ++ \\Each element in `mask` selects an element from either `a` or `b`. Positive numbers select from `a` starting at 0. Negative values select from `b`, starting at `-1` and going down. It is recommended to use the `~` operator for indexes from `b` so that both indexes can start from `0` (i.e. `~@as(i32, 0)` is `-1`). ++ \\ ++ \\For each element of `mask`, if it or the selected value from `a` or `b` is `undefined`, then the resulting element is `undefined`. ++ \\ ++ \\`a_len` and `b_len` may differ in length. Out-of-bounds element indexes in `mask` result in compile errors. ++ \\ ++ \\If `a` or `b` is `undefined`, it is equivalent to a vector of all `undefined` with the same length as the other vector. If both vectors are `undefined`, `@shuffle` returns a vector with all elements `undefined`. ++ \\ ++ \\`E` must be an [integer](https://ziglang.org/documentation/0.10.0/#Integers), [float](https://ziglang.org/documentation/0.10.0/#Floats), [pointer](https://ziglang.org/documentation/0.10.0/#Pointers), or `bool`. The mask may be any vector length, and its length determines the result length.

{#code_begin|test|vector_shuffle#} const std = @import("std"); const expect = std.testing.expect; test "vector @shuffle" { const a = @Vector(7, u8){ 'o', 'l', 'h', 'e', 'r', 'z', 'w' }; const b = @Vector(4, u8){ 'w', 'd', '!', 'x' }; // To shuffle within a single vector, pass undefined as the second argument. // Notice that we can re-order, duplicate, or omit elements of the input vector const mask1 = @Vector(5, i32){ 2, 3, 1, 1, 0 }; const res1: @Vector(5, u8) = @shuffle(u8, a, undefined, mask1); try expect(std.mem.eql(u8, &@as([5]u8, res1), "hello")); // Combining two vectors const mask2 = @Vector(6, i32){ -1, 0, 4, 1, -2, -3 }; const res2: @Vector(6, u8) = @shuffle(u8, a, b, mask2); try expect(std.mem.eql(u8, &@as([6]u8, res2), "world!")); }` ++ , ++ .arguments = &.{ ++ "comptime E: type", ++ "a: @Vector(a_len, E)", ++ "b: @Vector(b_len, E)", ++ "comptime mask: @Vector(mask_len, i32)", ++ }, ++ }, ++ .{ ++ .name = "@sizeOf", ++ .signature = "@sizeOf(comptime T: type) comptime_int", ++ .snippet = "@sizeOf(${1:comptime T: type})", ++ .documentation = ++ \\This function returns the number of bytes it takes to store `T` in memory. The result is a target-specific compile time constant. ++ \\ ++ \\This size may contain padding bytes. If there were two consecutive T in memory, this would be the offset in bytes between element at index 0 and the element at index 1. For [integer](https://ziglang.org/documentation/0.10.0/#Integers), consider whether you want to use `@sizeOf(T)` or `@typeInfo(T).Int.bits`. ++ \\ ++ \\This function measures the size at runtime. For types that are disallowed at runtime, such as `comptime_int` and `type`, the result is `0`. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ }, ++ }, ++ .{ ++ .name = "@splat", ++ .signature = "@splat(comptime len: u32, scalar: anytype) @Vector(len, @TypeOf(scalar))", ++ .snippet = "@splat(${1:comptime len: u32}, ${2:scalar: anytype})", ++ .documentation = ++ \\Produces a vector of length `len` where each element is the value `scalar`:

{#code_begin|test|vector_splat#} const std = @import("std"); const expect = std.testing.expect; test "vector @splat" { const scalar: u32 = 5; const result = @splat(4, scalar); comptime try expect(@TypeOf(result) == @Vector(4, u32)); try expect(std.mem.eql(u32, &@as([4]u32, result), &[_]u32{ 5, 5, 5, 5 })); }` ++ \\ ++ \\`scalar` must be an [integer](https://ziglang.org/documentation/0.10.0/#Integers), [bool](https://ziglang.org/documentation/0.10.0/#Primitive-Types), [float](https://ziglang.org/documentation/0.10.0/#Floats), or [pointer](https://ziglang.org/documentation/0.10.0/#Pointers). ++ , ++ .arguments = &.{ ++ "comptime len: u32", ++ "scalar: anytype", ++ }, ++ }, ++ .{ ++ .name = "@reduce", ++ .signature = "@reduce(comptime op: std.builtin.ReduceOp, value: anytype) E", ++ .snippet = "@reduce(${1:comptime op: std.builtin.ReduceOp}, ${2:value: anytype})", ++ .documentation = ++ \\Transforms a [vector](https://ziglang.org/documentation/0.10.0/#Vectors) into a scalar value (of type `E`) by performing a sequential horizontal reduction of its elements using the specified operator `op`. ++ \\ ++ \\Not every operator is available for every vector element type: ++ \\ - Every operator is available for [integer](https://ziglang.org/documentation/0.10.0/#Integers) vectors. ++ \\ - `.And`, `.Or`, `.Xor` are additionally available for `bool` vectors, ++ \\ - `.Min`, `.Max`, `.Add`, `.Mul` are additionally available for [floating point](https://ziglang.org/documentation/0.10.0/#Floats) vectors, ++ \\ ++ \\Note that `.Add` and `.Mul` reductions on integral types are wrapping; when applied on floating point types the operation associativity is preserved, unless the float mode is set to `Optimized`.

{#code_begin|test|vector_reduce#} const std = @import("std"); const expect = std.testing.expect; test "vector @reduce" { const value = @Vector(4, i32){ 1, -1, 1, -1 }; const result = value > @splat(4, @as(i32, 0)); // result is { true, false, true, false }; comptime try expect(@TypeOf(result) == @Vector(4, bool)); const is_all_true = @reduce(.And, result); comptime try expect(@TypeOf(is_all_true) == bool); try expect(is_all_true == false); }` ++ , ++ .arguments = &.{ ++ "comptime op: std.builtin.ReduceOp", ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@src", ++ .signature = "@src() std.builtin.SourceLocation", ++ .snippet = "@src()", ++ .documentation = ++ \\Returns a `SourceLocation` struct representing the function's name and location in the source code. This must be called in a function.

{#code_begin|test|source_location#} const std = @import("std"); const expect = std.testing.expect; test "@src" { try doTheTest(); } fn doTheTest() !void { const src = @src(); try expect(src.line == 9); try expect(src.column == 17); try expect(std.mem.endsWith(u8, src.fn_name, "doTheTest")); try expect(std.mem.endsWith(u8, src.file, "source_location.zig")); }` ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@sqrt", ++ .signature = "@sqrt(value: anytype) @TypeOf(value)", ++ .snippet = "@sqrt(${1:value: anytype})", ++ .documentation = ++ \\Performs the square root of a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@sin", ++ .signature = "@sin(value: anytype) @TypeOf(value)", ++ .snippet = "@sin(${1:value: anytype})", ++ .documentation = ++ \\Sine trigonometric function on a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@cos", ++ .signature = "@cos(value: anytype) @TypeOf(value)", ++ .snippet = "@cos(${1:value: anytype})", ++ .documentation = ++ \\Cosine trigonometric function on a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@tan", ++ .signature = "@tan(value: anytype) @TypeOf(value)", ++ .snippet = "@tan(${1:value: anytype})", ++ .documentation = ++ \\Tangent trigonometric function on a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@exp", ++ .signature = "@exp(value: anytype) @TypeOf(value)", ++ .snippet = "@exp(${1:value: anytype})", ++ .documentation = ++ \\Base-e exponential function on a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@exp2", ++ .signature = "@exp2(value: anytype) @TypeOf(value)", ++ .snippet = "@exp2(${1:value: anytype})", ++ .documentation = ++ \\Base-2 exponential function on a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@log", ++ .signature = "@log(value: anytype) @TypeOf(value)", ++ .snippet = "@log(${1:value: anytype})", ++ .documentation = ++ \\Returns the natural logarithm of a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@log2", ++ .signature = "@log2(value: anytype) @TypeOf(value)", ++ .snippet = "@log2(${1:value: anytype})", ++ .documentation = ++ \\Returns the logarithm to the base 2 of a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@log10", ++ .signature = "@log10(value: anytype) @TypeOf(value)", ++ .snippet = "@log10(${1:value: anytype})", ++ .documentation = ++ \\Returns the logarithm to the base 10 of a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@fabs", ++ .signature = "@fabs(value: anytype) @TypeOf(value)", ++ .snippet = "@fabs(${1:value: anytype})", ++ .documentation = ++ \\Returns the absolute value of a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@floor", ++ .signature = "@floor(value: anytype) @TypeOf(value)", ++ .snippet = "@floor(${1:value: anytype})", ++ .documentation = ++ \\Returns the largest integral value not greater than the given floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@ceil", ++ .signature = "@ceil(value: anytype) @TypeOf(value)", ++ .snippet = "@ceil(${1:value: anytype})", ++ .documentation = ++ \\Returns the smallest integral value not less than the given floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@trunc", ++ .signature = "@trunc(value: anytype) @TypeOf(value)", ++ .snippet = "@trunc(${1:value: anytype})", ++ .documentation = ++ \\Rounds the given floating point number to an integer, towards zero. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@round", ++ .signature = "@round(value: anytype) @TypeOf(value)", ++ .snippet = "@round(${1:value: anytype})", ++ .documentation = ++ \\Rounds the given floating point number to an integer, away from zero. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.10.0/#Floats) and [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@subWithOverflow", ++ .signature = "@subWithOverflow(comptime T: type, a: T, b: T, result: *T) bool", ++ .snippet = "@subWithOverflow(${1:comptime T: type}, ${2:a: T}, ${3:b: T}, ${4:result: *T})", ++ .documentation = ++ \\Performs `result.* = a - b`. If overflow or underflow occurs, stores the overflowed bits in `result` and returns `true`. If no overflow or underflow occurs, returns `false`. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "a: T", ++ "b: T", ++ "result: *T", ++ }, ++ }, ++ .{ ++ .name = "@tagName", ++ .signature = "@tagName(value: anytype) [:0]const u8", ++ .snippet = "@tagName(${1:value: anytype})", ++ .documentation = ++ \\Converts an enum value or union value to a string literal representing the name. ++ \\ ++ \\If the enum is non-exhaustive and the tag value does not map to a name, it invokes safety-checked [Undefined Behavior](https://ziglang.org/documentation/0.10.0/#Undefined-Behavior). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@This", ++ .signature = "@This() type", ++ .snippet = "@This()", ++ .documentation = ++ \\Returns the innermost struct, enum, or union that this function call is inside. This can be useful for an anonymous struct that needs to refer to itself:

{#code_begin|test|this_innermost#} const std = @import("std"); const expect = std.testing.expect; test "@This()" { var items = [_]i32{ 1, 2, 3, 4 }; const list = List(i32){ .items = items[0..] }; try expect(list.length() == 4); } fn List(comptime T: type) type { return struct { const Self = @This(); items: []T, fn length(self: Self) usize { return self.items.len; } }; }` ++ \\ ++ \\When `@This()` is used at file scope, it returns a reference to the struct that corresponds to the current file. ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@truncate", ++ .signature = "@truncate(comptime T: type, integer: anytype) T", ++ .snippet = "@truncate(${1:comptime T: type}, ${2:integer: anytype})", ++ .documentation = ++ \\This function truncates bits from an integer type, resulting in a smaller or same-sized integer type. ++ \\ ++ \\This function always truncates the significant bits of the integer, regardless of endianness on the target platform. ++ \\ ++ \\Calling `@truncate` on a number out of range of the destination type is well defined and working code: ++ \\ ++ \\```zig ++ \\const std = @import("std"); ++ \\const expect = std.testing.expect; ++ \\ ++ \\test "integer truncation" { ++ \\ var a: u16 = 0xabcd; ++ \\ var b: u8 = @truncate(u8, a); ++ \\ try expect(b == 0xcd); ++ \\} ++ \\``` ++ \\ ++ \\Use [@intCast](https://ziglang.org/documentation/0.10.0/#intCast) to convert numbers guaranteed to fit the destination type. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "integer: anytype", ++ }, ++ }, ++ .{ ++ .name = "@Type", ++ .signature = "@Type(comptime info: std.builtin.Type) type", ++ .snippet = "@Type(${1:comptime info: std.builtin.Type})", ++ .documentation = ++ \\This function is the inverse of [@typeInfo](https://ziglang.org/documentation/0.10.0/#typeInfo). It reifies type information into a `type`. ++ \\ ++ \\It is available for the following types: ++ \\ - `type` ++ \\ - `noreturn` ++ \\ - `void` ++ \\ - `bool` ++ \\ - [Integers](https://ziglang.org/documentation/0.10.0/#Integers) - The maximum bit count for an integer type is `65535`. ++ \\ - [Floats](https://ziglang.org/documentation/0.10.0/#Floats) ++ \\ - [Pointers](https://ziglang.org/documentation/0.10.0/#Pointers) ++ \\ - `comptime_int` ++ \\ - `comptime_float` ++ \\ - `@TypeOf(undefined)` ++ \\ - `@TypeOf(null)` ++ \\ - [Arrays](https://ziglang.org/documentation/0.10.0/#Arrays) ++ \\ - [Optionals](https://ziglang.org/documentation/0.10.0/#Optionals) ++ \\ - [Error Set Type](https://ziglang.org/documentation/0.10.0/#Error-Set-Type) ++ \\ - [Error Union Type](https://ziglang.org/documentation/0.10.0/#Error-Union-Type) ++ \\ - [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors) ++ \\ - [opaque](https://ziglang.org/documentation/0.10.0/#opaque) ++ \\ - [@Frame](https://ziglang.org/documentation/0.10.0/#Frame) ++ \\ - `anyframe` ++ \\ - [struct](https://ziglang.org/documentation/0.10.0/#struct) ++ \\ - [enum](https://ziglang.org/documentation/0.10.0/#enum) ++ \\ - [Enum Literals](https://ziglang.org/documentation/0.10.0/#Enum-Literals) ++ \\ - [union](https://ziglang.org/documentation/0.10.0/#union) ++ \\ ++ \\For these types, `@Type` is not available: ++ \\ - [Functions](https://ziglang.org/documentation/0.10.0/#Functions) ++ \\ - BoundFn ++ , ++ .arguments = &.{ ++ "comptime info: std.builtin.Type", ++ }, ++ }, ++ .{ ++ .name = "@typeInfo", ++ .signature = "@typeInfo(comptime T: type) std.builtin.Type", ++ .snippet = "@typeInfo(${1:comptime T: type})", ++ .documentation = ++ \\Provides type reflection. ++ \\ ++ \\Type information of [structs](https://ziglang.org/documentation/0.10.0/#struct), [unions](https://ziglang.org/documentation/0.10.0/#union), [enums](https://ziglang.org/documentation/0.10.0/#enum), and [error sets](https://ziglang.org/documentation/0.10.0/#Error-Set-Type) has fields which are guaranteed to be in the same order as appearance in the source file. ++ \\ ++ \\Type information of [structs](https://ziglang.org/documentation/0.10.0/#struct), [unions](https://ziglang.org/documentation/0.10.0/#union), [enums](https://ziglang.org/documentation/0.10.0/#enum), and [opaques](https://ziglang.org/documentation/0.10.0/#opaque) has declarations, which are also guaranteed to be in the same order as appearance in the source file. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ }, ++ }, ++ .{ ++ .name = "@typeName", ++ .signature = "@typeName(T: type) *const [N:0]u8", ++ .snippet = "@typeName(${1:T: type})", ++ .documentation = ++ \\This function returns the string representation of a type, as an array. It is equivalent to a string literal of the type name. The returned type name is fully qualified with the parent namespace included as part of the type name with a series of dots. ++ , ++ .arguments = &.{ ++ "T: type", ++ }, ++ }, ++ .{ ++ .name = "@TypeOf", ++ .signature = "@TypeOf(...) type", ++ .snippet = "@TypeOf(${1:...})", ++ .documentation = ++ \\`@TypeOf` is a special builtin function that takes any (nonzero) number of expressions as parameters and returns the type of the result, using [Peer Type Resolution](https://ziglang.org/documentation/0.10.0/#Peer-Type-Resolution). ++ \\ ++ \\The expressions are evaluated, however they are guaranteed to have no *runtime* side-effects:

{#code_begin|test|no_runtime_side_effects#} const std = @import("std"); const expect = std.testing.expect; test "no runtime side effects" { var data: i32 = 0; const T = @TypeOf(foo(i32, &data)); comptime try expect(T == i32); try expect(data == 0); } fn foo(comptime T: type, ptr: *T) T { ptr.* += 1; return ptr.*; }` ++ , ++ .arguments = &.{ ++ "...", ++ }, ++ }, ++ .{ ++ .name = "@unionInit", ++ .signature = "@unionInit(comptime Union: type, comptime active_field_name: []const u8, init_expr) Union", ++ .snippet = "@unionInit(${1:comptime Union: type}, ${2:comptime active_field_name: []const u8}, ${3:init_expr})", ++ .documentation = ++ \\This is the same thing as [union](https://ziglang.org/documentation/0.10.0/#union) initialization syntax, except that the field name is a [comptime](https://ziglang.org/documentation/0.10.0/#comptime)-known value rather than an identifier token. ++ \\ ++ \\`@unionInit` forwards its [result location](https://ziglang.org/documentation/0.10.0/#Result-Location-Semantics) to `init_expr`. ++ , ++ .arguments = &.{ ++ "comptime Union: type", ++ "comptime active_field_name: []const u8", ++ "init_expr", ++ }, ++ }, ++ .{ ++ .name = "@Vector", ++ .signature = "@Vector(len: comptime_int, Element: type) type", ++ .snippet = "@Vector(${1:len: comptime_int}, ${2:Element: type})", ++ .documentation = ++ \\Creates [Vectors](https://ziglang.org/documentation/0.10.0/#Vectors). ++ , ++ .arguments = &.{ ++ "len: comptime_int", ++ "Element: type", ++ }, ++ }, ++}; +diff --git a/src/data/0.9.1.zig b/src/data/0.9.1.zig +new file mode 100644 +index 00000000..da1eddd5 +--- /dev/null ++++ b/src/data/0.9.1.zig +@@ -0,0 +1,1777 @@ ++const Builtin = struct { ++ name: []const u8, ++ signature: []const u8, ++ snippet: []const u8, ++ documentation: []const u8, ++ arguments: []const []const u8, ++}; ++ ++pub const builtins = [_]Builtin{ ++ .{ ++ .name = "@addWithOverflow", ++ .signature = "@addWithOverflow(comptime T: type, a: T, b: T, result: *T) bool", ++ .snippet = "@addWithOverflow(${1:comptime T: type}, ${2:a: T}, ${3:b: T}, ${4:result: *T})", ++ .documentation = ++ \\Performs `result.* = a + b`. If overflow or underflow occurs, stores the overflowed bits in `result` and returns `true`. If no overflow or underflow occurs, returns `false`. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "a: T", ++ "b: T", ++ "result: *T", ++ }, ++ }, ++ .{ ++ .name = "@alignCast", ++ .signature = "@alignCast(comptime alignment: u29, ptr: anytype) anytype", ++ .snippet = "@alignCast(${1:comptime alignment: u29}, ${2:ptr: anytype})", ++ .documentation = ++ \\`ptr` can be `*T`, `fn()`, `?*T`, `?fn()`, or `[]T`. It returns the same type as `ptr` except with the alignment adjusted to the new value. ++ \\ ++ \\A [pointer alignment safety check](https://ziglang.org/documentation/0.9.1/#Incorrect-Pointer-Alignment) is added to the generated code to make sure the pointer is aligned as promised. ++ , ++ .arguments = &.{ ++ "comptime alignment: u29", ++ "ptr: anytype", ++ }, ++ }, ++ .{ ++ .name = "@alignOf", ++ .signature = "@alignOf(comptime T: type) comptime_int", ++ .snippet = "@alignOf(${1:comptime T: type})", ++ .documentation = ++ \\This function returns the number of bytes that this type should be aligned to for the current target to match the C ABI. When the child type of a pointer has this alignment, the alignment can be omitted from the type. ++ \\ ++ \\```zig ++ \\const expect = @import("std").debug.assert; ++ \\comptime { ++ \\ assert(*u32 == *align(@alignOf(u32)) u32); ++ \\} ++ \\``` ++ \\ ++ \\The result is a target-specific compile time constant. It is guaranteed to be less than or equal to [@sizeOf(T)](https://ziglang.org/documentation/0.9.1/#@sizeOf). ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ }, ++ }, ++ .{ ++ .name = "@as", ++ .signature = "@as(comptime T: type, expression) T", ++ .snippet = "@as(${1:comptime T: type}, ${2:expression})", ++ .documentation = ++ \\Performs [Type Coercion](https://ziglang.org/documentation/0.9.1/#Type-Coercion). This cast is allowed when the conversion is unambiguous and safe, and is the preferred way to convert between types, whenever possible. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "expression", ++ }, ++ }, ++ .{ ++ .name = "@asyncCall", ++ .signature = "@asyncCall(frame_buffer: []align(@alignOf(@Frame(anyAsyncFunction))) u8, result_ptr, function_ptr, args: anytype) anyframe->T", ++ .snippet = "@asyncCall(${1:frame_buffer: []align(@alignOf(@Frame(anyAsyncFunction))) u8}, ${2:result_ptr}, ${3:function_ptr}, ${4:args: anytype})", ++ .documentation = ++ \\`@asyncCall` performs an `async` call on a function pointer, which may or may not be an [async function](https://ziglang.org/documentation/0.9.1/#Async-Functions). ++ \\ ++ \\The provided `frame_buffer` must be large enough to fit the entire function frame. This size can be determined with [@frameSize](https://ziglang.org/documentation/0.9.1/#frameSize). To provide a too-small buffer invokes safety-checked [Undefined Behavior](https://ziglang.org/documentation/0.9.1/#Undefined-Behavior). ++ \\ ++ \\`result_ptr` is optional ([null](https://ziglang.org/documentation/0.9.1/#null) may be provided). If provided, the function call will write its result directly to the result pointer, which will be available to read after [await](https://ziglang.org/documentation/0.9.1/#Async-and-Await) completes. Any result location provided to `await` will copy the result from `result_ptr`.

{#code_begin|test|async_struct_field_fn_pointer#} const std = @import("std"); const expect = std.testing.expect; test "async fn pointer in a struct field" { var data: i32 = 1; const Foo = struct { bar: fn (*i32) callconv(.Async) void, }; var foo = Foo{ .bar = func }; var bytes: [64]u8 align(@alignOf(@Frame(func))) = undefined; const f = @asyncCall(&bytes, {}, foo.bar, .{&data}); try expect(data == 2); resume f; try expect(data == 4); } fn func(y: *i32) void { defer y.* += 2; y.* += 1; suspend {} }` ++ , ++ .arguments = &.{ ++ "frame_buffer: []align(@alignOf(@Frame(anyAsyncFunction))) u8", ++ "result_ptr", ++ "function_ptr", ++ "args: anytype", ++ }, ++ }, ++ .{ ++ .name = "@atomicLoad", ++ .signature = "@atomicLoad(comptime T: type, ptr: *const T, comptime ordering: builtin.AtomicOrder) T", ++ .snippet = "@atomicLoad(${1:comptime T: type}, ${2:ptr: *const T}, ${3:comptime ordering: builtin.AtomicOrder})", ++ .documentation = ++ \\This builtin function atomically dereferences a pointer and returns the value. ++ \\ ++ \\`T` must be a pointer, a `bool`, a float, an integer or an enum. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "ptr: *const T", ++ "comptime ordering: builtin.AtomicOrder", ++ }, ++ }, ++ .{ ++ .name = "@atomicRmw", ++ .signature = "@atomicRmw(comptime T: type, ptr: *T, comptime op: builtin.AtomicRmwOp, operand: T, comptime ordering: builtin.AtomicOrder) T", ++ .snippet = "@atomicRmw(${1:comptime T: type}, ${2:ptr: *T}, ${3:comptime op: builtin.AtomicRmwOp}, ${4:operand: T}, ${5:comptime ordering: builtin.AtomicOrder})", ++ .documentation = ++ \\This builtin function atomically modifies memory and then returns the previous value. ++ \\ ++ \\`T` must be a pointer, a `bool`, a float, an integer or an enum. ++ \\ ++ \\Supported operations: ++ \\ - `.Xchg` - stores the operand unmodified. Supports enums, integers and floats. ++ \\ - `.Add` - for integers, twos complement wraparound addition. Also supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats). ++ \\ - `.Sub` - for integers, twos complement wraparound subtraction. Also supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats). ++ \\ - `.And` - bitwise and ++ \\ - `.Nand` - bitwise nand ++ \\ - `.Or` - bitwise or ++ \\ - `.Xor` - bitwise xor ++ \\ - `.Max` - stores the operand if it is larger. Supports integers and floats. ++ \\ - `.Min` - stores the operand if it is smaller. Supports integers and floats. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "ptr: *T", ++ "comptime op: builtin.AtomicRmwOp", ++ "operand: T", ++ "comptime ordering: builtin.AtomicOrder", ++ }, ++ }, ++ .{ ++ .name = "@atomicStore", ++ .signature = "@atomicStore(comptime T: type, ptr: *T, value: T, comptime ordering: builtin.AtomicOrder) void", ++ .snippet = "@atomicStore(${1:comptime T: type}, ${2:ptr: *T}, ${3:value: T}, ${4:comptime ordering: builtin.AtomicOrder})", ++ .documentation = ++ \\This builtin function atomically stores a value. ++ \\ ++ \\`T` must be a pointer, a `bool`, a float, an integer or an enum. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "ptr: *T", ++ "value: T", ++ "comptime ordering: builtin.AtomicOrder", ++ }, ++ }, ++ .{ ++ .name = "@bitCast", ++ .signature = "@bitCast(comptime DestType: type, value: anytype) DestType", ++ .snippet = "@bitCast(${1:comptime DestType: type}, ${2:value: anytype})", ++ .documentation = ++ \\Converts a value of one type to another type. ++ \\ ++ \\Asserts that `@sizeOf(@TypeOf(value)) == @sizeOf(DestType)`. ++ \\ ++ \\Asserts that `@typeInfo(DestType) != .Pointer`. Use `@ptrCast` or `@intToPtr` if you need this. ++ \\ ++ \\Can be used for these things for example: ++ \\ - Convert `f32` to `u32` bits ++ \\ - Convert `i32` to `u32` preserving twos complement ++ \\ ++ \\Works at compile-time if `value` is known at compile time. It's a compile error to bitcast a struct to a scalar type of the same size since structs have undefined layout. However if the struct is packed then it works. ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@bitOffsetOf", ++ .signature = "@bitOffsetOf(comptime T: type, comptime field_name: []const u8) comptime_int", ++ .snippet = "@bitOffsetOf(${1:comptime T: type}, ${2:comptime field_name: []const u8})", ++ .documentation = ++ \\Returns the bit offset of a field relative to its containing struct. ++ \\ ++ \\For non [packed structs](https://ziglang.org/documentation/0.9.1/#packed-struct), this will always be divisible by `8`. For packed structs, non-byte-aligned fields will share a byte offset, but they will have different bit offsets. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "comptime field_name: []const u8", ++ }, ++ }, ++ .{ ++ .name = "@boolToInt", ++ .signature = "@boolToInt(value: bool) u1", ++ .snippet = "@boolToInt(${1:value: bool})", ++ .documentation = ++ \\Converts `true` to `@as(u1, 1)` and `false` to `@as(u1, 0)`. ++ \\ ++ \\If the value is known at compile-time, the return type is `comptime_int` instead of `u1`. ++ , ++ .arguments = &.{ ++ "value: bool", ++ }, ++ }, ++ .{ ++ .name = "@bitSizeOf", ++ .signature = "@bitSizeOf(comptime T: type) comptime_int", ++ .snippet = "@bitSizeOf(${1:comptime T: type})", ++ .documentation = ++ \\This function returns the number of bits it takes to store `T` in memory if the type were a field in a packed struct/union. The result is a target-specific compile time constant. ++ \\ ++ \\This function measures the size at runtime. For types that are disallowed at runtime, such as `comptime_int` and `type`, the result is `0`. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ }, ++ }, ++ .{ ++ .name = "@breakpoint", ++ .signature = "@breakpoint()", ++ .snippet = "@breakpoint()", ++ .documentation = ++ \\This function inserts a platform-specific debug trap instruction which causes debuggers to break there. ++ \\ ++ \\This function is only valid within function scope. ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@mulAdd", ++ .signature = "@mulAdd(comptime T: type, a: T, b: T, c: T) T", ++ .snippet = "@mulAdd(${1:comptime T: type}, ${2:a: T}, ${3:b: T}, ${4:c: T})", ++ .documentation = ++ \\Fused multiply add, similar to `(a * b) + c`, except only rounds once, and is thus more accurate. ++ \\ ++ \\Supports Floats and Vectors of floats. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "a: T", ++ "b: T", ++ "c: T", ++ }, ++ }, ++ .{ ++ .name = "@byteSwap", ++ .signature = "@byteSwap(comptime T: type, operand: T) T", ++ .snippet = "@byteSwap(${1:comptime T: type}, ${2:operand: T})", ++ .documentation = ++ \\`T` must be an integer type with bit count evenly divisible by 8. ++ \\ ++ \\`operand` may be an [integer](https://ziglang.org/documentation/0.9.1/#Integers) or [vector](https://ziglang.org/documentation/0.9.1/#Vectors). ++ \\ ++ \\Swaps the byte order of the integer. This converts a big endian integer to a little endian integer, and converts a little endian integer to a big endian integer. ++ \\ ++ \\Note that for the purposes of memory layout with respect to endianness, the integer type should be related to the number of bytes reported by [@sizeOf](https://ziglang.org/documentation/0.9.1/#sizeOf) bytes. This is demonstrated with `u24`. `@sizeOf(u24) == 4`, which means that a `u24` stored in memory takes 4 bytes, and those 4 bytes are what are swapped on a little vs big endian system. On the other hand, if `T` is specified to be `u24`, then only 3 bytes are reversed. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "operand: T", ++ }, ++ }, ++ .{ ++ .name = "@bitReverse", ++ .signature = "@bitReverse(comptime T: type, integer: T) T", ++ .snippet = "@bitReverse(${1:comptime T: type}, ${2:integer: T})", ++ .documentation = ++ \\`T` accepts any integer type. ++ \\ ++ \\Reverses the bitpattern of an integer value, including the sign bit if applicable. ++ \\ ++ \\For example 0b10110110 (`u8 = 182`, `i8 = -74`) becomes 0b01101101 (`u8 = 109`, `i8 = 109`). ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "integer: T", ++ }, ++ }, ++ .{ ++ .name = "@offsetOf", ++ .signature = "@offsetOf(comptime T: type, comptime field_name: []const u8) comptime_int", ++ .snippet = "@offsetOf(${1:comptime T: type}, ${2:comptime field_name: []const u8})", ++ .documentation = ++ \\Returns the byte offset of a field relative to its containing struct. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "comptime field_name: []const u8", ++ }, ++ }, ++ .{ ++ .name = "@call", ++ .signature = "@call(options: std.builtin.CallOptions, function: anytype, args: anytype) anytype", ++ .snippet = "@call(${1:options: std.builtin.CallOptions}, ${2:function: anytype}, ${3:args: anytype})", ++ .documentation = ++ \\Calls a function, in the same way that invoking an expression with parentheses does: ++ \\ ++ \\```zig ++ \\const expect = @import("std").testing.expect; ++ \\ ++ \\test "noinline function call" { ++ \\ try expect(@call(.{}, add, .{3, 9}) == 12); ++ \\} ++ \\ ++ \\fn add(a: i32, b: i32) i32 { ++ \\ return a + b; ++ \\} ++ \\``` ++ \\ ++ \\`@call` allows more flexibility than normal function call syntax does. The `CallOptions` struct is reproduced here:

{#syntax_block|zig|builtin.CallOptions struct#} pub const CallOptions = struct { modifier: Modifier = .auto, /// Only valid when `Modifier` is `Modifier.async_kw`. stack: ?[]align(std.Target.stack_align) u8 = null, pub const Modifier = enum { /// Equivalent to function call syntax. auto, /// Equivalent to async keyword used with function call syntax. async_kw, /// Prevents tail call optimization. This guarantees that the return /// address will point to the callsite, as opposed to the callsite's /// callsite. If the call is otherwise required to be tail-called /// or inlined, a compile error is emitted instead. never_tail, /// Guarantees that the call will not be inlined. If the call is /// otherwise required to be inlined, a compile error is emitted instead. never_inline, /// Asserts that the function call will not suspend. This allows a /// non-async function to call an async function. no_async, /// Guarantees that the call will be generated with tail call optimization. /// If this is not possible, a compile error is emitted instead. always_tail, /// Guarantees that the call will inlined at the callsite. /// If this is not possible, a compile error is emitted instead. always_inline, /// Evaluates the call at compile-time. If the call cannot be completed at /// compile-time, a compile error is emitted instead. compile_time, }; }; {#end_syntax_block#} ++ , ++ .arguments = &.{ ++ "options: std.builtin.CallOptions", ++ "function: anytype", ++ "args: anytype", ++ }, ++ }, ++ .{ ++ .name = "@cDefine", ++ .signature = "@cDefine(comptime name: []u8, value)", ++ .snippet = "@cDefine(${1:comptime name: []u8}, ${2:value})", ++ .documentation = ++ \\This function can only occur inside `@cImport`. ++ \\ ++ \\This appends `#define $name $value` to the `@cImport` temporary buffer. ++ \\ ++ \\To define without a value, like this:`#define _GNU_SOURCE` ++ \\ ++ \\Use the void value, like this: ++ \\ ++ \\```zig ++ \\@cDefine("_GNU_SOURCE", {}) ++ \\``` ++ , ++ .arguments = &.{ ++ "comptime name: []u8", ++ "value", ++ }, ++ }, ++ .{ ++ .name = "@cImport", ++ .signature = "@cImport(expression) type", ++ .snippet = "@cImport(${1:expression})", ++ .documentation = ++ \\This function parses C code and imports the functions, types, variables, and compatible macro definitions into a new empty struct type, and then returns that type. ++ \\ ++ \\`expression` is interpreted at compile time. The builtin functions `@cInclude`, `@cDefine`, and `@cUndef` work within this expression, appending to a temporary buffer which is then parsed as C code. ++ \\ ++ \\Usually you should only have one `@cImport` in your entire application, because it saves the compiler from invoking clang multiple times, and prevents inline functions from being duplicated. ++ \\ ++ \\Reasons for having multiple `@cImport` expressions would be: ++ \\ - To avoid a symbol collision, for example if foo.h and bar.h both `#define CONNECTION_COUNT` ++ \\ - To analyze the C code with different preprocessor defines ++ , ++ .arguments = &.{ ++ "expression", ++ }, ++ }, ++ .{ ++ .name = "@cInclude", ++ .signature = "@cInclude(comptime path: []u8)", ++ .snippet = "@cInclude(${1:comptime path: []u8})", ++ .documentation = ++ \\This function can only occur inside `@cImport`. ++ \\ ++ \\This appends `#include <$path>\n` to the `c_import` temporary buffer. ++ , ++ .arguments = &.{ ++ "comptime path: []u8", ++ }, ++ }, ++ .{ ++ .name = "@clz", ++ .signature = "@clz(comptime T: type, operand: T)", ++ .snippet = "@clz(${1:comptime T: type}, ${2:operand: T})", ++ .documentation = ++ \\`T` must be an integer type. ++ \\ ++ \\`operand` may be an [integer](https://ziglang.org/documentation/0.9.1/#Integers) or [vector](https://ziglang.org/documentation/0.9.1/#Vectors). ++ \\ ++ \\This function counts the number of most-significant (leading in a big-Endian sense) zeroes in an integer. ++ \\ ++ \\If `operand` is a [comptime](https://ziglang.org/documentation/0.9.1/#comptime)-known integer, the return type is `comptime_int`. Otherwise, the return type is an unsigned integer or vector of unsigned integers with the minimum number of bits that can represent the bit count of the integer type. ++ \\ ++ \\If `operand` is zero, `@clz` returns the bit width of integer type `T`. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "operand: T", ++ }, ++ }, ++ .{ ++ .name = "@cmpxchgStrong", ++ .signature = "@cmpxchgStrong(comptime T: type, ptr: *T, expected_value: T, new_value: T, success_order: AtomicOrder, fail_order: AtomicOrder) ?T", ++ .snippet = "@cmpxchgStrong(${1:comptime T: type}, ${2:ptr: *T}, ${3:expected_value: T}, ${4:new_value: T}, ${5:success_order: AtomicOrder}, ${6:fail_order: AtomicOrder})", ++ .documentation = ++ \\This function performs a strong atomic compare exchange operation. It's the equivalent of this code, except atomic: ++ \\ ++ \\```zig ++ \\fn cmpxchgStrongButNotAtomic(comptime T: type, ptr: *T, expected_value: T, new_value: T) ?T { ++ \\ const old_value = ptr.*; ++ \\ if (old_value == expected_value) { ++ \\ ptr.* = new_value; ++ \\ return null; ++ \\ } else { ++ \\ return old_value; ++ \\ } ++ \\} ++ \\``` ++ \\ ++ \\If you are using cmpxchg in a loop, [@cmpxchgWeak](https://ziglang.org/documentation/0.9.1/#cmpxchgWeak) is the better choice, because it can be implemented more efficiently in machine instructions. ++ \\ ++ \\`T` must be a pointer, a `bool`, a float, an integer or an enum. ++ \\ ++ \\`@typeInfo(@TypeOf(ptr)).Pointer.alignment` must be `>= @sizeOf(T).` ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "ptr: *T", ++ "expected_value: T", ++ "new_value: T", ++ "success_order: AtomicOrder", ++ "fail_order: AtomicOrder", ++ }, ++ }, ++ .{ ++ .name = "@cmpxchgWeak", ++ .signature = "@cmpxchgWeak(comptime T: type, ptr: *T, expected_value: T, new_value: T, success_order: AtomicOrder, fail_order: AtomicOrder) ?T", ++ .snippet = "@cmpxchgWeak(${1:comptime T: type}, ${2:ptr: *T}, ${3:expected_value: T}, ${4:new_value: T}, ${5:success_order: AtomicOrder}, ${6:fail_order: AtomicOrder})", ++ .documentation = ++ \\This function performs a weak atomic compare exchange operation. It's the equivalent of this code, except atomic:

{#syntax_block|zig|cmpxchgWeakButNotAtomic#} fn cmpxchgWeakButNotAtomic(comptime T: type, ptr: *T, expected_value: T, new_value: T) ?T { const old_value = ptr.*; if (old_value == expected_value and usuallyTrueButSometimesFalse()) { ptr.* = new_value; return null; } else { return old_value; } } {#end_syntax_block#} ++ \\ ++ \\If you are using cmpxchg in a loop, the sporadic failure will be no problem, and `cmpxchgWeak` is the better choice, because it can be implemented more efficiently in machine instructions. However if you need a stronger guarantee, use [@cmpxchgStrong](https://ziglang.org/documentation/0.9.1/#cmpxchgStrong). ++ \\ ++ \\`T` must be a pointer, a `bool`, a float, an integer or an enum. ++ \\ ++ \\`@typeInfo(@TypeOf(ptr)).Pointer.alignment` must be `>= @sizeOf(T).` ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "ptr: *T", ++ "expected_value: T", ++ "new_value: T", ++ "success_order: AtomicOrder", ++ "fail_order: AtomicOrder", ++ }, ++ }, ++ .{ ++ .name = "@compileError", ++ .signature = "@compileError(comptime msg: []u8)", ++ .snippet = "@compileError(${1:comptime msg: []u8})", ++ .documentation = ++ \\This function, when semantically analyzed, causes a compile error with the message `msg`. ++ \\ ++ \\There are several ways that code avoids being semantically checked, such as using `if` or `switch` with compile time constants, and `comptime` functions. ++ , ++ .arguments = &.{ ++ "comptime msg: []u8", ++ }, ++ }, ++ .{ ++ .name = "@compileLog", ++ .signature = "@compileLog(args: ...)", ++ .snippet = "@compileLog(${1:args: ...})", ++ .documentation = ++ \\This function prints the arguments passed to it at compile-time. ++ \\ ++ \\To prevent accidentally leaving compile log statements in a codebase, a compilation error is added to the build, pointing to the compile log statement. This error prevents code from being generated, but does not otherwise interfere with analysis. ++ \\ ++ \\This function can be used to do "printf debugging" on compile-time executing code. ++ \\ ++ \\```zig ++ \\const print = @import("std").debug.print; ++ \\ ++ \\const num1 = blk: { ++ \\ var val1: i32 = 99; ++ \\ @compileLog("comptime val1 = ", val1); ++ \\ val1 = val1 + 1; ++ \\ break :blk val1; ++ \\}; ++ \\ ++ \\test "main" { ++ \\ @compileLog("comptime in main"); ++ \\ ++ \\ print("Runtime in main, num1 = {}.\n", .{num1}); ++ \\} ++ \\``` ++ \\ ++ \\will output: ++ \\ ++ \\If all `@compileLog` calls are removed or not encountered by analysis, the program compiles successfully and the generated executable prints:

{#code_begin|test|without_compileLog#} const print = @import("std").debug.print; const num1 = blk: { var val1: i32 = 99; val1 = val1 + 1; break :blk val1; }; test "main" { print("Runtime in main, num1 = {}.\n", .{num1}); }` ++ , ++ .arguments = &.{ ++ "args: ...", ++ }, ++ }, ++ .{ ++ .name = "@ctz", ++ .signature = "@ctz(comptime T: type, operand: T)", ++ .snippet = "@ctz(${1:comptime T: type}, ${2:operand: T})", ++ .documentation = ++ \\`T` must be an integer type. ++ \\ ++ \\`operand` may be an [integer](https://ziglang.org/documentation/0.9.1/#Integers) or [vector](https://ziglang.org/documentation/0.9.1/#Vectors). ++ \\ ++ \\This function counts the number of least-significant (trailing in a big-Endian sense) zeroes in an integer. ++ \\ ++ \\If `operand` is a [comptime](https://ziglang.org/documentation/0.9.1/#comptime)-known integer, the return type is `comptime_int`. Otherwise, the return type is an unsigned integer or vector of unsigned integers with the minimum number of bits that can represent the bit count of the integer type. ++ \\ ++ \\If `operand` is zero, `@ctz` returns the bit width of integer type `T`. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "operand: T", ++ }, ++ }, ++ .{ ++ .name = "@cUndef", ++ .signature = "@cUndef(comptime name: []u8)", ++ .snippet = "@cUndef(${1:comptime name: []u8})", ++ .documentation = ++ \\This function can only occur inside `@cImport`. ++ \\ ++ \\This appends `#undef $name` to the `@cImport` temporary buffer. ++ , ++ .arguments = &.{ ++ "comptime name: []u8", ++ }, ++ }, ++ .{ ++ .name = "@divExact", ++ .signature = "@divExact(numerator: T, denominator: T) T", ++ .snippet = "@divExact(${1:numerator: T}, ${2:denominator: T})", ++ .documentation = ++ \\Exact division. Caller guarantees `denominator != 0` and `@divTrunc(numerator, denominator) * denominator == numerator`. ++ \\ - `@divExact(6, 3) == 2` ++ \\ - `@divExact(a, b) * b == a` ++ \\ ++ \\For a function that returns a possible error code, use `@import("std").math.divExact`. ++ , ++ .arguments = &.{ ++ "numerator: T", ++ "denominator: T", ++ }, ++ }, ++ .{ ++ .name = "@divFloor", ++ .signature = "@divFloor(numerator: T, denominator: T) T", ++ .snippet = "@divFloor(${1:numerator: T}, ${2:denominator: T})", ++ .documentation = ++ \\Floored division. Rounds toward negative infinity. For unsigned integers it is the same as `numerator / denominator`. Caller guarantees `denominator != 0` and `!(@typeInfo(T) == .Int and T.is_signed and numerator == std.math.minInt(T) and denominator == -1)`. ++ \\ - `@divFloor(-5, 3) == -2` ++ \\ - `(@divFloor(a, b) * b) + @mod(a, b) == a` ++ \\ ++ \\For a function that returns a possible error code, use `@import("std").math.divFloor`. ++ , ++ .arguments = &.{ ++ "numerator: T", ++ "denominator: T", ++ }, ++ }, ++ .{ ++ .name = "@divTrunc", ++ .signature = "@divTrunc(numerator: T, denominator: T) T", ++ .snippet = "@divTrunc(${1:numerator: T}, ${2:denominator: T})", ++ .documentation = ++ \\Truncated division. Rounds toward zero. For unsigned integers it is the same as `numerator / denominator`. Caller guarantees `denominator != 0` and `!(@typeInfo(T) == .Int and T.is_signed and numerator == std.math.minInt(T) and denominator == -1)`. ++ \\ - `@divTrunc(-5, 3) == -1` ++ \\ - `(@divTrunc(a, b) * b) + @rem(a, b) == a` ++ \\ ++ \\For a function that returns a possible error code, use `@import("std").math.divTrunc`. ++ , ++ .arguments = &.{ ++ "numerator: T", ++ "denominator: T", ++ }, ++ }, ++ .{ ++ .name = "@embedFile", ++ .signature = "@embedFile(comptime path: []const u8) *const [N:0]u8", ++ .snippet = "@embedFile(${1:comptime path: []const u8})", ++ .documentation = ++ \\This function returns a compile time constant pointer to null-terminated, fixed-size array with length equal to the byte count of the file given by `path`. The contents of the array are the contents of the file. This is equivalent to a [string literal](https://ziglang.org/documentation/0.9.1/#String-Literals-and-Unicode-Code-Point-Literals) with the file contents. ++ \\ ++ \\`path` is absolute or relative to the current file, just like `@import`. ++ , ++ .arguments = &.{ ++ "comptime path: []const u8", ++ }, ++ }, ++ .{ ++ .name = "@enumToInt", ++ .signature = "@enumToInt(enum_or_tagged_union: anytype) anytype", ++ .snippet = "@enumToInt(${1:enum_or_tagged_union: anytype})", ++ .documentation = ++ \\Converts an enumeration value into its integer tag type. When a tagged union is passed, the tag value is used as the enumeration value. ++ \\ ++ \\If there is only one possible enum value, the result is a `comptime_int` known at [comptime](https://ziglang.org/documentation/0.9.1/#comptime). ++ , ++ .arguments = &.{ ++ "enum_or_tagged_union: anytype", ++ }, ++ }, ++ .{ ++ .name = "@errorName", ++ .signature = "@errorName(err: anyerror) [:0]const u8", ++ .snippet = "@errorName(${1:err: anyerror})", ++ .documentation = ++ \\This function returns the string representation of an error. The string representation of `error.OutOfMem` is `"OutOfMem"`. ++ \\ ++ \\If there are no calls to `@errorName` in an entire application, or all calls have a compile-time known value for `err`, then no error name table will be generated. ++ , ++ .arguments = &.{ ++ "err: anyerror", ++ }, ++ }, ++ .{ ++ .name = "@errorReturnTrace", ++ .signature = "@errorReturnTrace() ?*builtin.StackTrace", ++ .snippet = "@errorReturnTrace()", ++ .documentation = ++ \\If the binary is built with error return tracing, and this function is invoked in a function that calls a function with an error or error union return type, returns a stack trace object. Otherwise returns [null](https://ziglang.org/documentation/0.9.1/#null). ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@errorToInt", ++ .signature = "@errorToInt(err: anytype) std.meta.Int(.unsigned, @sizeOf(anyerror) * 8)", ++ .snippet = "@errorToInt(${1:err: anytype})", ++ .documentation = ++ \\Supports the following types: ++ \\ - [The Global Error Set](https://ziglang.org/documentation/0.9.1/#The-Global-Error-Set) ++ \\ - [Error Set Type](https://ziglang.org/documentation/0.9.1/#Error-Set-Type) ++ \\ - [Error Union Type](https://ziglang.org/documentation/0.9.1/#Error-Union-Type) ++ \\ ++ \\Converts an error to the integer representation of an error. ++ \\ ++ \\It is generally recommended to avoid this cast, as the integer representation of an error is not stable across source code changes. ++ , ++ .arguments = &.{ ++ "err: anytype", ++ }, ++ }, ++ .{ ++ .name = "@errSetCast", ++ .signature = "@errSetCast(comptime T: DestType, value: anytype) DestType", ++ .snippet = "@errSetCast(${1:comptime T: DestType}, ${2:value: anytype})", ++ .documentation = ++ \\Converts an error value from one error set to another error set. Attempting to convert an error which is not in the destination error set results in safety-protected [Undefined Behavior](https://ziglang.org/documentation/0.9.1/#Undefined-Behavior). ++ , ++ .arguments = &.{ ++ "comptime T: DestType", ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@export", ++ .signature = "@export(declaration, comptime options: std.builtin.ExportOptions) void", ++ .snippet = "@export(${1:declaration}, ${2:comptime options: std.builtin.ExportOptions})", ++ .documentation = ++ \\Creates a symbol in the output object file. ++ \\ ++ \\`declaration` must be one of two things: ++ \\ - An identifier (`x`) identifying a [function](https://ziglang.org/documentation/0.9.1/#Functions) or a [variable](https://ziglang.org/documentation/0.9.1/#Container-Level-Variables). ++ \\ - Field access (`x.y`) looking up a [function](https://ziglang.org/documentation/0.9.1/#Functions) or a [variable](https://ziglang.org/documentation/0.9.1/#Container-Level-Variables). ++ \\ ++ \\This builtin can be called from a [comptime](https://ziglang.org/documentation/0.9.1/#comptime) block to conditionally export symbols. When `declaration` is a function with the C calling convention and `options.linkage` is `Strong`, this is equivalent to the `export` keyword used on a function: ++ \\ ++ \\```zig ++ \\comptime { ++ \\ @export(internalName, .{ .name = "foo", .linkage = .Strong }); ++ \\} ++ \\ ++ \\fn internalName() callconv(.C) void {} ++ \\``` ++ \\ ++ \\This is equivalent to: ++ \\ ++ \\```zig ++ \\export fn foo() void {} ++ \\``` ++ \\ ++ \\Note that even when using `export`, the `@"foo"` syntax for [identifiers](https://ziglang.org/documentation/0.9.1/#Identifiers) can be used to choose any string for the symbol name: ++ \\ ++ \\```zig ++ \\export fn @"A function name that is a complete sentence."() void {} ++ \\``` ++ \\ ++ \\When looking at the resulting object, you can see the symbol is used verbatim: ++ \\ ++ \\```zig ++ \\00000000000001f0 T A function name that is a complete sentence. ++ \\``` ++ , ++ .arguments = &.{ ++ "declaration", ++ "comptime options: std.builtin.ExportOptions", ++ }, ++ }, ++ .{ ++ .name = "@extern", ++ .signature = "@extern(T: type, comptime options: std.builtin.ExternOptions) *T", ++ .snippet = "@extern(${1:T: type}, ${2:comptime options: std.builtin.ExternOptions})", ++ .documentation = ++ \\Creates a reference to an external symbol in the output object file. ++ , ++ .arguments = &.{ ++ "T: type", ++ "comptime options: std.builtin.ExternOptions", ++ }, ++ }, ++ .{ ++ .name = "@fence", ++ .signature = "@fence(order: AtomicOrder)", ++ .snippet = "@fence(${1:order: AtomicOrder})", ++ .documentation = ++ \\The `fence` function is used to introduce happens-before edges between operations. ++ \\ ++ \\`AtomicOrder` can be found with `@import("std").builtin.AtomicOrder`. ++ , ++ .arguments = &.{ ++ "order: AtomicOrder", ++ }, ++ }, ++ .{ ++ .name = "@field", ++ .signature = "@field(lhs: anytype, comptime field_name: []const u8) (field)", ++ .snippet = "@field(${1:lhs: anytype}, ${2:comptime field_name: []const u8})", ++ .documentation = ++ \\Performs field access by a compile-time string. Works on both fields and declarations.

{#code_begin|test|field_decl_access_by_string#} const std = @import("std"); const Point = struct { x: u32, y: u32, pub var z: u32 = 1; }; test "field access by string" { const expect = std.testing.expect; var p = Point{ .x = 0, .y = 0 }; @field(p, "x") = 4; @field(p, "y") = @field(p, "x") + 1; try expect(@field(p, "x") == 4); try expect(@field(p, "y") == 5); } test "decl access by string" { const expect = std.testing.expect; try expect(@field(Point, "z") == 1); @field(Point, "z") = 2; try expect(@field(Point, "z") == 2); }` ++ , ++ .arguments = &.{ ++ "lhs: anytype", ++ "comptime field_name: []const u8", ++ }, ++ }, ++ .{ ++ .name = "@fieldParentPtr", ++ .signature = "@fieldParentPtr(comptime ParentType: type, comptime field_name: []const u8, field_ptr: *T) *ParentType", ++ .snippet = "@fieldParentPtr(${1:comptime ParentType: type}, ${2:comptime field_name: []const u8}, ${3:field_ptr: *T})", ++ .documentation = ++ \\Given a pointer to a field, returns the base pointer of a struct. ++ , ++ .arguments = &.{ ++ "comptime ParentType: type", ++ "comptime field_name: []const u8", ++ "field_ptr: *T", ++ }, ++ }, ++ .{ ++ .name = "@floatCast", ++ .signature = "@floatCast(comptime DestType: type, value: anytype) DestType", ++ .snippet = "@floatCast(${1:comptime DestType: type}, ${2:value: anytype})", ++ .documentation = ++ \\Convert from one float type to another. This cast is safe, but may cause the numeric value to lose precision. ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@floatToInt", ++ .signature = "@floatToInt(comptime DestType: type, float: anytype) DestType", ++ .snippet = "@floatToInt(${1:comptime DestType: type}, ${2:float: anytype})", ++ .documentation = ++ \\Converts the integer part of a floating point number to the destination type. ++ \\ ++ \\If the integer part of the floating point number cannot fit in the destination type, it invokes safety-checked [Undefined Behavior](https://ziglang.org/documentation/0.9.1/#Undefined-Behavior). ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "float: anytype", ++ }, ++ }, ++ .{ ++ .name = "@frame", ++ .signature = "@frame() *@Frame(func)", ++ .snippet = "@frame()", ++ .documentation = ++ \\This function returns a pointer to the frame for a given function. This type can be [coerced](https://ziglang.org/documentation/0.9.1/#Type-Coercion) to `anyframe->T` and to `anyframe`, where `T` is the return type of the function in scope. ++ \\ ++ \\This function does not mark a suspension point, but it does cause the function in scope to become an [async function](https://ziglang.org/documentation/0.9.1/#Async-Functions). ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@Frame", ++ .signature = "@Frame(func: anytype) type", ++ .snippet = "@Frame(${1:func: anytype})", ++ .documentation = ++ \\This function returns the frame type of a function. This works for [Async Functions](https://ziglang.org/documentation/0.9.1/#Async-Functions) as well as any function without a specific calling convention. ++ \\ ++ \\This type is suitable to be used as the return type of [async](https://ziglang.org/documentation/0.9.1/#Async-and-Await) which allows one to, for example, heap-allocate an async function frame:

{#code_begin|test|heap_allocated_frame#} const std = @import("std"); test "heap allocated frame" { const frame = try std.heap.page_allocator.create(@Frame(func)); frame.* = async func(); } fn func() void { suspend {} }` ++ , ++ .arguments = &.{ ++ "func: anytype", ++ }, ++ }, ++ .{ ++ .name = "@frameAddress", ++ .signature = "@frameAddress() usize", ++ .snippet = "@frameAddress()", ++ .documentation = ++ \\This function returns the base pointer of the current stack frame. ++ \\ ++ \\The implications of this are target specific and not consistent across all platforms. The frame address may not be available in release mode due to aggressive optimizations. ++ \\ ++ \\This function is only valid within function scope. ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@frameSize", ++ .signature = "@frameSize() usize", ++ .snippet = "@frameSize()", ++ .documentation = ++ \\This is the same as `@sizeOf(@Frame(func))`, where `func` may be runtime-known. ++ \\ ++ \\This function is typically used in conjunction with [@asyncCall](https://ziglang.org/documentation/0.9.1/#asyncCall). ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@hasDecl", ++ .signature = "@hasDecl(comptime Container: type, comptime name: []const u8) bool", ++ .snippet = "@hasDecl(${1:comptime Container: type}, ${2:comptime name: []const u8})", ++ .documentation = ++ \\Returns whether or not a [struct](https://ziglang.org/documentation/0.9.1/#struct), [enum](https://ziglang.org/documentation/0.9.1/#enum), or [union](https://ziglang.org/documentation/0.9.1/#union) has a declaration matching `name`.

{#code_begin|test|hasDecl#} const std = @import("std"); const expect = std.testing.expect; const Foo = struct { nope: i32, pub var blah = "xxx"; const hi = 1; }; test "@hasDecl" { try expect(@hasDecl(Foo, "blah")); // Even though `hi` is private, @hasDecl returns true because this test is // in the same file scope as Foo. It would return false if Foo was declared // in a different file. try expect(@hasDecl(Foo, "hi")); // @hasDecl is for declarations; not fields. try expect(!@hasDecl(Foo, "nope")); try expect(!@hasDecl(Foo, "nope1234")); }` ++ , ++ .arguments = &.{ ++ "comptime Container: type", ++ "comptime name: []const u8", ++ }, ++ }, ++ .{ ++ .name = "@hasField", ++ .signature = "@hasField(comptime Container: type, comptime name: []const u8) bool", ++ .snippet = "@hasField(${1:comptime Container: type}, ${2:comptime name: []const u8})", ++ .documentation = ++ \\Returns whether the field name of a struct, union, or enum exists. ++ \\ ++ \\The result is a compile time constant. ++ \\ ++ \\It does not include functions, variables, or constants. ++ , ++ .arguments = &.{ ++ "comptime Container: type", ++ "comptime name: []const u8", ++ }, ++ }, ++ .{ ++ .name = "@import", ++ .signature = "@import(comptime path: []u8) type", ++ .snippet = "@import(${1:comptime path: []u8})", ++ .documentation = ++ \\This function finds a zig file corresponding to `path` and adds it to the build, if it is not already added. ++ \\ ++ \\Zig source files are implicitly structs, with a name equal to the file's basename with the extension truncated. `@import` returns the struct type corresponding to the file. ++ \\ ++ \\Declarations which have the `pub` keyword may be referenced from a different source file than the one they are declared in. ++ \\ ++ \\`path` can be a relative path or it can be the name of a package. If it is a relative path, it is relative to the file that contains the `@import` function call. ++ \\ ++ \\The following packages are always available: ++ \\ - `@import("std")` - Zig Standard Library ++ \\ - `@import("builtin")` - Target-specific information The command `zig build-exe --show-builtin` outputs the source to stdout for reference. ++ \\ - `@import("root")` - Points to the root source file This is usually `src/main.zig` but it depends on what file is chosen to be built. ++ , ++ .arguments = &.{ ++ "comptime path: []u8", ++ }, ++ }, ++ .{ ++ .name = "@intCast", ++ .signature = "@intCast(comptime DestType: type, int: anytype) DestType", ++ .snippet = "@intCast(${1:comptime DestType: type}, ${2:int: anytype})", ++ .documentation = ++ \\Converts an integer to another integer while keeping the same numerical value. Attempting to convert a number which is out of range of the destination type results in safety-protected [Undefined Behavior](https://ziglang.org/documentation/0.9.1/#Undefined-Behavior). ++ \\ ++ \\```zig ++ \\test "integer cast panic" { ++ \\ var a: u16 = 0xabcd; ++ \\ var b: u8 = @intCast(u8, a); ++ \\ _ = b; ++ \\} ++ \\``` ++ \\ ++ \\To truncate the significant bits of a number out of range of the destination type, use [@truncate](https://ziglang.org/documentation/0.9.1/#truncate). ++ \\ ++ \\If `T` is `comptime_int`, then this is semantically equivalent to [Type Coercion](https://ziglang.org/documentation/0.9.1/#Type-Coercion). ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "int: anytype", ++ }, ++ }, ++ .{ ++ .name = "@intToEnum", ++ .signature = "@intToEnum(comptime DestType: type, integer: anytype) DestType", ++ .snippet = "@intToEnum(${1:comptime DestType: type}, ${2:integer: anytype})", ++ .documentation = ++ \\Converts an integer into an [enum](https://ziglang.org/documentation/0.9.1/#enum) value. ++ \\ ++ \\Attempting to convert an integer which represents no value in the chosen enum type invokes safety-checked [Undefined Behavior](https://ziglang.org/documentation/0.9.1/#Undefined-Behavior). ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "integer: anytype", ++ }, ++ }, ++ .{ ++ .name = "@intToError", ++ .signature = "@intToError(value: std.meta.Int(.unsigned, @sizeOf(anyerror) * 8)) anyerror", ++ .snippet = "@intToError(${1:value: std.meta.Int(.unsigned, @sizeOf(anyerror) * 8)})", ++ .documentation = ++ \\Converts from the integer representation of an error into [The Global Error Set](https://ziglang.org/documentation/0.9.1/#The-Global-Error-Set) type. ++ \\ ++ \\It is generally recommended to avoid this cast, as the integer representation of an error is not stable across source code changes. ++ \\ ++ \\Attempting to convert an integer that does not correspond to any error results in safety-protected [Undefined Behavior](https://ziglang.org/documentation/0.9.1/#Undefined-Behavior). ++ , ++ .arguments = &.{ ++ "value: std.meta.Int(.unsigned, @sizeOf(anyerror) * 8)", ++ }, ++ }, ++ .{ ++ .name = "@intToFloat", ++ .signature = "@intToFloat(comptime DestType: type, int: anytype) DestType", ++ .snippet = "@intToFloat(${1:comptime DestType: type}, ${2:int: anytype})", ++ .documentation = ++ \\Converts an integer to the closest floating point representation. To convert the other way, use [@floatToInt](https://ziglang.org/documentation/0.9.1/#floatToInt). This cast is always safe. ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "int: anytype", ++ }, ++ }, ++ .{ ++ .name = "@intToPtr", ++ .signature = "@intToPtr(comptime DestType: type, address: usize) DestType", ++ .snippet = "@intToPtr(${1:comptime DestType: type}, ${2:address: usize})", ++ .documentation = ++ \\Converts an integer to a [pointer](https://ziglang.org/documentation/0.9.1/#Pointers). To convert the other way, use [@ptrToInt](https://ziglang.org/documentation/0.9.1/#ptrToInt). Casting an address of 0 to a destination type which in not [optional](https://ziglang.org/documentation/0.9.1/#Optional-Pointers) and does not have the `allowzero` attribute will result in a [Pointer Cast Invalid Null](https://ziglang.org/documentation/0.9.1/#Pointer-Cast-Invalid-Null) panic when runtime safety checks are enabled. ++ \\ ++ \\If the destination pointer type does not allow address zero and `address` is zero, this invokes safety-checked [Undefined Behavior](https://ziglang.org/documentation/0.9.1/#Undefined-Behavior). ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "address: usize", ++ }, ++ }, ++ .{ ++ .name = "@maximum", ++ .signature = "@maximum(a: T, b: T) T", ++ .snippet = "@maximum(${1:a: T}, ${2:b: T})", ++ .documentation = ++ \\Returns the maximum value of `a` and `b`. This builtin accepts integers, floats, and vectors of either. In the latter case, the operation is performed element wise. ++ \\ ++ \\NaNs are handled as follows: if one of the operands of a (pairwise) operation is NaN, the other operand is returned. If both operands are NaN, NaN is returned. ++ , ++ .arguments = &.{ ++ "a: T", ++ "b: T", ++ }, ++ }, ++ .{ ++ .name = "@memcpy", ++ .signature = "@memcpy(noalias dest: [*]u8, noalias source: [*]const u8, byte_count: usize)", ++ .snippet = "@memcpy(${1:noalias dest: [*]u8}, ${2:noalias source: [*]const u8}, ${3:byte_count: usize})", ++ .documentation = ++ \\This function copies bytes from one region of memory to another. `dest` and `source` are both pointers and must not overlap. ++ \\ ++ \\This function is a low level intrinsic with no safety mechanisms. Most code should not use this function, instead using something like this: ++ \\ ++ \\```zig ++ \\for (source[0..byte_count]) |b, i| dest[i] = b; ++ \\``` ++ \\ ++ \\The optimizer is intelligent enough to turn the above snippet into a memcpy. ++ \\ ++ \\There is also a standard library function for this: ++ \\ ++ \\```zig ++ \\const mem = @import("std").mem; ++ \\mem.copy(u8, dest[0..byte_count], source[0..byte_count]); ++ \\``` ++ , ++ .arguments = &.{ ++ "noalias dest: [*]u8", ++ "noalias source: [*]const u8", ++ "byte_count: usize", ++ }, ++ }, ++ .{ ++ .name = "@memset", ++ .signature = "@memset(dest: [*]u8, c: u8, byte_count: usize)", ++ .snippet = "@memset(${1:dest: [*]u8}, ${2:c: u8}, ${3:byte_count: usize})", ++ .documentation = ++ \\This function sets a region of memory to `c`. `dest` is a pointer. ++ \\ ++ \\This function is a low level intrinsic with no safety mechanisms. Most code should not use this function, instead using something like this: ++ \\ ++ \\```zig ++ \\for (dest[0..byte_count]) |*b| b.* = c; ++ \\``` ++ \\ ++ \\The optimizer is intelligent enough to turn the above snippet into a memset. ++ \\ ++ \\There is also a standard library function for this: ++ \\ ++ \\```zig ++ \\const mem = @import("std").mem; ++ \\mem.set(u8, dest, c); ++ \\``` ++ , ++ .arguments = &.{ ++ "dest: [*]u8", ++ "c: u8", ++ "byte_count: usize", ++ }, ++ }, ++ .{ ++ .name = "@minimum", ++ .signature = "@minimum(a: T, b: T) T", ++ .snippet = "@minimum(${1:a: T}, ${2:b: T})", ++ .documentation = ++ \\Returns the minimum value of `a` and `b`. This builtin accepts integers, floats, and vectors of either. In the latter case, the operation is performed element wise. ++ \\ ++ \\NaNs are handled as follows: if one of the operands of a (pairwise) operation is NaN, the other operand is returned. If both operands are NaN, NaN is returned. ++ , ++ .arguments = &.{ ++ "a: T", ++ "b: T", ++ }, ++ }, ++ .{ ++ .name = "@wasmMemorySize", ++ .signature = "@wasmMemorySize(index: u32) u32", ++ .snippet = "@wasmMemorySize(${1:index: u32})", ++ .documentation = ++ \\This function returns the size of the Wasm memory identified by `index` as an unsigned value in units of Wasm pages. Note that each Wasm page is 64KB in size. ++ \\ ++ \\This function is a low level intrinsic with no safety mechanisms usually useful for allocator designers targeting Wasm. So unless you are writing a new allocator from scratch, you should use something like `@import("std").heap.WasmPageAllocator`. ++ , ++ .arguments = &.{ ++ "index: u32", ++ }, ++ }, ++ .{ ++ .name = "@wasmMemoryGrow", ++ .signature = "@wasmMemoryGrow(index: u32, delta: u32) i32", ++ .snippet = "@wasmMemoryGrow(${1:index: u32}, ${2:delta: u32})", ++ .documentation = ++ \\This function increases the size of the Wasm memory identified by `index` by `delta` in units of unsigned number of Wasm pages. Note that each Wasm page is 64KB in size. On success, returns previous memory size; on failure, if the allocation fails, returns -1. ++ \\ ++ \\This function is a low level intrinsic with no safety mechanisms usually useful for allocator designers targeting Wasm. So unless you are writing a new allocator from scratch, you should use something like `@import("std").heap.WasmPageAllocator`.

{#code_begin|test|wasmMemoryGrow#} const std = @import("std"); const native_arch = @import("builtin").target.cpu.arch; const expect = std.testing.expect; test "@wasmMemoryGrow" { if (native_arch != .wasm32) return error.SkipZigTest; var prev = @wasmMemorySize(0); try expect(prev == @wasmMemoryGrow(0, 1)); try expect(prev + 1 == @wasmMemorySize(0)); }` ++ , ++ .arguments = &.{ ++ "index: u32", ++ "delta: u32", ++ }, ++ }, ++ .{ ++ .name = "@mod", ++ .signature = "@mod(numerator: T, denominator: T) T", ++ .snippet = "@mod(${1:numerator: T}, ${2:denominator: T})", ++ .documentation = ++ \\Modulus division. For unsigned integers this is the same as `numerator % denominator`. Caller guarantees `denominator > 0`, otherwise the operation will result in a [Remainder Division by Zero](https://ziglang.org/documentation/0.9.1/#Remainder-Division-by-Zero) when runtime safety checks are enabled. ++ \\ - `@mod(-5, 3) == 1` ++ \\ - `(@divFloor(a, b) * b) + @mod(a, b) == a` ++ \\ ++ \\For a function that returns an error code, see `@import("std").math.mod`. ++ , ++ .arguments = &.{ ++ "numerator: T", ++ "denominator: T", ++ }, ++ }, ++ .{ ++ .name = "@mulWithOverflow", ++ .signature = "@mulWithOverflow(comptime T: type, a: T, b: T, result: *T) bool", ++ .snippet = "@mulWithOverflow(${1:comptime T: type}, ${2:a: T}, ${3:b: T}, ${4:result: *T})", ++ .documentation = ++ \\Performs `result.* = a * b`. If overflow or underflow occurs, stores the overflowed bits in `result` and returns `true`. If no overflow or underflow occurs, returns `false`. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "a: T", ++ "b: T", ++ "result: *T", ++ }, ++ }, ++ .{ ++ .name = "@panic", ++ .signature = "@panic(message: []const u8) noreturn", ++ .snippet = "@panic(${1:message: []const u8})", ++ .documentation = ++ \\Invokes the panic handler function. By default the panic handler function calls the public `panic` function exposed in the root source file, or if there is not one specified, the `std.builtin.default_panic` function from `std/builtin.zig`. ++ \\ ++ \\Generally it is better to use `@import("std").debug.panic`. However, `@panic` can be useful for 2 scenarios: ++ \\ - From library code, calling the programmer's panic function if they exposed one in the root source file. ++ \\ - When mixing C and Zig code, calling the canonical panic implementation across multiple .o files. ++ , ++ .arguments = &.{ ++ "message: []const u8", ++ }, ++ }, ++ .{ ++ .name = "@popCount", ++ .signature = "@popCount(comptime T: type, operand: T)", ++ .snippet = "@popCount(${1:comptime T: type}, ${2:operand: T})", ++ .documentation = ++ \\`T` must be an integer type. ++ \\ ++ \\`operand` may be an [integer](https://ziglang.org/documentation/0.9.1/#Integers) or [vector](https://ziglang.org/documentation/0.9.1/#Vectors). ++ \\ ++ \\Counts the number of bits set in an integer. ++ \\ ++ \\If `operand` is a [comptime](https://ziglang.org/documentation/0.9.1/#comptime)-known integer, the return type is `comptime_int`. Otherwise, the return type is an unsigned integer or vector of unsigned integers with the minimum number of bits that can represent the bit count of the integer type. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "operand: T", ++ }, ++ }, ++ .{ ++ .name = "@prefetch", ++ .signature = "@prefetch(ptr: anytype, comptime options: std.builtin.PrefetchOptions)", ++ .snippet = "@prefetch(${1:ptr: anytype}, ${2:comptime options: std.builtin.PrefetchOptions})", ++ .documentation = ++ \\This builtin tells the compiler to emit a prefetch instruction if supported by the target CPU. If the target CPU does not support the requested prefetch instruction, this builtin is a noop. This function has no effect on the behavior of the program, only on the performance characteristics. ++ \\ ++ \\The `ptr` argument may be any pointer type and determines the memory address to prefetch. This function does not dereference the pointer, it is perfectly legal to pass a pointer to invalid memory to this function and no illegal behavior will result. ++ \\ ++ \\The `options` argument is the following struct:

{#code_begin|syntax|builtin#} /// This data structure is used by the Zig language code generation and /// therefore must be kept in sync with the compiler implementation. pub const PrefetchOptions = struct { /// Whether the prefetch should prepare for a read or a write. rw: Rw = .read, /// 0 means no temporal locality. That is, the data can be immediately /// dropped from the cache after it is accessed. /// /// 3 means high temporal locality. That is, the data should be kept in /// the cache as it is likely to be accessed again soon. locality: u2 = 3, /// The cache that the prefetch should be preformed on. cache: Cache = .data, pub const Rw = enum { read, write, }; pub const Cache = enum { instruction, data, }; };` ++ , ++ .arguments = &.{ ++ "ptr: anytype", ++ "comptime options: std.builtin.PrefetchOptions", ++ }, ++ }, ++ .{ ++ .name = "@ptrCast", ++ .signature = "@ptrCast(comptime DestType: type, value: anytype) DestType", ++ .snippet = "@ptrCast(${1:comptime DestType: type}, ${2:value: anytype})", ++ .documentation = ++ \\Converts a pointer of one type to a pointer of another type. ++ \\ ++ \\[Optional Pointers](https://ziglang.org/documentation/0.9.1/#Optional-Pointers) are allowed. Casting an optional pointer which is [null](https://ziglang.org/documentation/0.9.1/#null) to a non-optional pointer invokes safety-checked [Undefined Behavior](https://ziglang.org/documentation/0.9.1/#Undefined-Behavior). ++ , ++ .arguments = &.{ ++ "comptime DestType: type", ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@ptrToInt", ++ .signature = "@ptrToInt(value: anytype) usize", ++ .snippet = "@ptrToInt(${1:value: anytype})", ++ .documentation = ++ \\Converts `value` to a `usize` which is the address of the pointer. `value` can be one of these types: ++ \\ - `*T` ++ \\ - `?*T` ++ \\ - `fn()` ++ \\ - `?fn()` ++ \\ ++ \\To convert the other way, use [@intToPtr](https://ziglang.org/documentation/0.9.1/#intToPtr) ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@rem", ++ .signature = "@rem(numerator: T, denominator: T) T", ++ .snippet = "@rem(${1:numerator: T}, ${2:denominator: T})", ++ .documentation = ++ \\Remainder division. For unsigned integers this is the same as `numerator % denominator`. Caller guarantees `denominator > 0`, otherwise the operation will result in a [Remainder Division by Zero](https://ziglang.org/documentation/0.9.1/#Remainder-Division-by-Zero) when runtime safety checks are enabled. ++ \\ - `@rem(-5, 3) == -2` ++ \\ - `(@divTrunc(a, b) * b) + @rem(a, b) == a` ++ \\ ++ \\For a function that returns an error code, see `@import("std").math.rem`. ++ , ++ .arguments = &.{ ++ "numerator: T", ++ "denominator: T", ++ }, ++ }, ++ .{ ++ .name = "@returnAddress", ++ .signature = "@returnAddress() usize", ++ .snippet = "@returnAddress()", ++ .documentation = ++ \\This function returns the address of the next machine code instruction that will be executed when the current function returns. ++ \\ ++ \\The implications of this are target specific and not consistent across all platforms. ++ \\ ++ \\This function is only valid within function scope. If the function gets inlined into a calling function, the returned address will apply to the calling function. ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@select", ++ .signature = "@select(comptime T: type, pred: std.meta.Vector(len, bool), a: std.meta.Vector(len, T), b: std.meta.Vector(len, T)) std.meta.Vector(len, T)", ++ .snippet = "@select(${1:comptime T: type}, ${2:pred: std.meta.Vector(len, bool)}, ${3:a: std.meta.Vector(len, T)}, ${4:b: std.meta.Vector(len, T)})", ++ .documentation = ++ \\Selects values element-wise from `a` or `b` based on `pred`. If `pred[i]` is `true`, the corresponding element in the result will be `a[i]` and otherwise `b[i]`. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "pred: std.meta.Vector(len, bool)", ++ "a: std.meta.Vector(len, T)", ++ "b: std.meta.Vector(len, T)", ++ }, ++ }, ++ .{ ++ .name = "@setAlignStack", ++ .signature = "@setAlignStack(comptime alignment: u29)", ++ .snippet = "@setAlignStack(${1:comptime alignment: u29})", ++ .documentation = ++ \\Ensures that a function will have a stack alignment of at least `alignment` bytes. ++ , ++ .arguments = &.{ ++ "comptime alignment: u29", ++ }, ++ }, ++ .{ ++ .name = "@setCold", ++ .signature = "@setCold(comptime is_cold: bool)", ++ .snippet = "@setCold(${1:comptime is_cold: bool})", ++ .documentation = ++ \\Tells the optimizer that a function is rarely called. ++ , ++ .arguments = &.{ ++ "comptime is_cold: bool", ++ }, ++ }, ++ .{ ++ .name = "@setEvalBranchQuota", ++ .signature = "@setEvalBranchQuota(comptime new_quota: u32)", ++ .snippet = "@setEvalBranchQuota(${1:comptime new_quota: u32})", ++ .documentation = ++ \\Changes the maximum number of backwards branches that compile-time code execution can use before giving up and making a compile error. ++ \\ ++ \\If the `new_quota` is smaller than the default quota (`1000`) or a previously explicitly set quota, it is ignored. ++ \\ ++ \\Example: ++ \\ ++ \\```zig ++ \\test "foo" { ++ \\ comptime { ++ \\ var i = 0; ++ \\ while (i < 1001) : (i += 1) {} ++ \\ } ++ \\} ++ \\``` ++ \\ ++ \\Now we use `@setEvalBranchQuota`:

{#code_begin|test|setEvalBranchQuota#} test "foo" { comptime { @setEvalBranchQuota(1001); var i = 0; while (i < 1001) : (i += 1) {} } }` ++ , ++ .arguments = &.{ ++ "comptime new_quota: u32", ++ }, ++ }, ++ .{ ++ .name = "@setFloatMode", ++ .signature = "@setFloatMode(comptime mode: @import(\"std\").builtin.FloatMode)", ++ .snippet = "@setFloatMode(${1:comptime mode: @import(\"std\").builtin.FloatMode})", ++ .documentation = ++ \\Sets the floating point mode of the current scope. Possible values are: ++ \\ ++ \\```zig ++ \\pub const FloatMode = enum { ++ \\ Strict, ++ \\ Optimized, ++ \\}; ++ \\``` ++ \\ ++ \\ - `Strict` (default) - Floating point operations follow strict IEEE compliance. ++ \\ - `Optimized` - Floating point operations may do all of the following:
    ++ \\ - Assume the arguments and result are not NaN. Optimizations are required to retain defined behavior over NaNs, but the value of the result is undefined. ++ \\ - Assume the arguments and result are not +/-Inf. Optimizations are required to retain defined behavior over +/-Inf, but the value of the result is undefined. ++ \\ - Treat the sign of a zero argument or result as insignificant. ++ \\ - Use the reciprocal of an argument rather than perform division. ++ \\ - Perform floating-point contraction (e.g. fusing a multiply followed by an addition into a fused multiply-and-add). ++ \\ - Perform algebraically equivalent transformations that may change results in floating point (e.g. reassociate). This is equivalent to `-ffast-math` in GCC.
++ \\ ++ \\The floating point mode is inherited by child scopes, and can be overridden in any scope. You can set the floating point mode in a struct or module scope by using a comptime block. ++ , ++ .arguments = &.{ ++ "comptime mode: @import(\"std\").builtin.FloatMode", ++ }, ++ }, ++ .{ ++ .name = "@setRuntimeSafety", ++ .signature = "@setRuntimeSafety(comptime safety_on: bool) void", ++ .snippet = "@setRuntimeSafety(${1:comptime safety_on: bool})", ++ .documentation = ++ \\Sets whether runtime safety checks are enabled for the scope that contains the function call. ++ \\ ++ \\```zig ++ \\test "@setRuntimeSafety" { ++ \\ // The builtin applies to the scope that it is called in. So here, integer overflow ++ \\ // will not be caught in ReleaseFast and ReleaseSmall modes: ++ \\ // var x: u8 = 255; ++ \\ // x += 1; // undefined behavior in ReleaseFast/ReleaseSmall modes. ++ \\ { ++ \\ // However this block has safety enabled, so safety checks happen here, ++ \\ // even in ReleaseFast and ReleaseSmall modes. ++ \\ @setRuntimeSafety(true); ++ \\ var x: u8 = 255; ++ \\ x += 1; ++ \\ ++ \\ { ++ \\ // The value can be overridden at any scope. So here integer overflow ++ \\ // would not be caught in any build mode. ++ \\ @setRuntimeSafety(false); ++ \\ // var x: u8 = 255; ++ \\ // x += 1; // undefined behavior in all build modes. ++ \\ } ++ \\ } ++ \\} ++ \\``` ++ \\ ++ \\Note: it is [planned](https://github.com/ziglang/zig/issues/978) to replace `@setRuntimeSafety` with `@optimizeFor` ++ , ++ .arguments = &.{ ++ "comptime safety_on: bool", ++ }, ++ }, ++ .{ ++ .name = "@shlExact", ++ .signature = "@shlExact(value: T, shift_amt: Log2T) T", ++ .snippet = "@shlExact(${1:value: T}, ${2:shift_amt: Log2T})", ++ .documentation = ++ \\Performs the left shift operation (`<<`). For unsigned integers, the result is [undefined](https://ziglang.org/documentation/0.9.1/#undefined) if any 1 bits are shifted out. For signed integers, the result is [undefined](https://ziglang.org/documentation/0.9.1/#undefined) if any bits that disagree with the resultant sign bit are shifted out. ++ \\ ++ \\The type of `shift_amt` is an unsigned integer with `log2(T.bit_count)` bits. This is because `shift_amt >= T.bit_count` is undefined behavior. ++ , ++ .arguments = &.{ ++ "value: T", ++ "shift_amt: Log2T", ++ }, ++ }, ++ .{ ++ .name = "@shlWithOverflow", ++ .signature = "@shlWithOverflow(comptime T: type, a: T, shift_amt: Log2T, result: *T) bool", ++ .snippet = "@shlWithOverflow(${1:comptime T: type}, ${2:a: T}, ${3:shift_amt: Log2T}, ${4:result: *T})", ++ .documentation = ++ \\Performs `result.* = a << b`. If overflow or underflow occurs, stores the overflowed bits in `result` and returns `true`. If no overflow or underflow occurs, returns `false`. ++ \\ ++ \\The type of `shift_amt` is an unsigned integer with `log2(T.bit_count)` bits. This is because `shift_amt >= T.bit_count` is undefined behavior. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "a: T", ++ "shift_amt: Log2T", ++ "result: *T", ++ }, ++ }, ++ .{ ++ .name = "@shrExact", ++ .signature = "@shrExact(value: T, shift_amt: Log2T) T", ++ .snippet = "@shrExact(${1:value: T}, ${2:shift_amt: Log2T})", ++ .documentation = ++ \\Performs the right shift operation (`>>`). Caller guarantees that the shift will not shift any 1 bits out. ++ \\ ++ \\The type of `shift_amt` is an unsigned integer with `log2(T.bit_count)` bits. This is because `shift_amt >= T.bit_count` is undefined behavior. ++ , ++ .arguments = &.{ ++ "value: T", ++ "shift_amt: Log2T", ++ }, ++ }, ++ .{ ++ .name = "@shuffle", ++ .signature = "@shuffle(comptime E: type, a: std.meta.Vector(a_len, E), b: std.meta.Vector(b_len, E), comptime mask: std.meta.Vector(mask_len, i32)) std.meta.Vector(mask_len, E)", ++ .snippet = "@shuffle(${1:comptime E: type}, ${2:a: std.meta.Vector(a_len, E)}, ${3:b: std.meta.Vector(b_len, E)}, ${4:comptime mask: std.meta.Vector(mask_len, i32)})", ++ .documentation = ++ \\Constructs a new [vector](https://ziglang.org/documentation/0.9.1/#Vectors) by selecting elements from `a` and `b` based on `mask`. ++ \\ ++ \\Each element in `mask` selects an element from either `a` or `b`. Positive numbers select from `a` starting at 0. Negative values select from `b`, starting at `-1` and going down. It is recommended to use the `~` operator from indexes from `b` so that both indexes can start from `0` (i.e. `~@as(i32, 0)` is `-1`). ++ \\ ++ \\For each element of `mask`, if it or the selected value from `a` or `b` is `undefined`, then the resulting element is `undefined`. ++ \\ ++ \\`a_len` and `b_len` may differ in length. Out-of-bounds element indexes in `mask` result in compile errors. ++ \\ ++ \\If `a` or `b` is `undefined`, it is equivalent to a vector of all `undefined` with the same length as the other vector. If both vectors are `undefined`, `@shuffle` returns a vector with all elements `undefined`. ++ \\ ++ \\`E` must be an [integer](https://ziglang.org/documentation/0.9.1/#Integers), [float](https://ziglang.org/documentation/0.9.1/#Floats), [pointer](https://ziglang.org/documentation/0.9.1/#Pointers), or `bool`. The mask may be any vector length, and its length determines the result length.

{#code_begin|test|vector_shuffle#} const std = @import("std"); const Vector = std.meta.Vector; const expect = std.testing.expect; test "vector @shuffle" { const a: Vector(7, u8) = [_]u8{ 'o', 'l', 'h', 'e', 'r', 'z', 'w' }; const b: Vector(4, u8) = [_]u8{ 'w', 'd', '!', 'x' }; // To shuffle within a single vector, pass undefined as the second argument. // Notice that we can re-order, duplicate, or omit elements of the input vector const mask1: Vector(5, i32) = [_]i32{ 2, 3, 1, 1, 0 }; const res1: Vector(5, u8) = @shuffle(u8, a, undefined, mask1); try expect(std.mem.eql(u8, &@as([5]u8, res1), "hello")); // Combining two vectors const mask2: Vector(6, i32) = [_]i32{ -1, 0, 4, 1, -2, -3 }; const res2: Vector(6, u8) = @shuffle(u8, a, b, mask2); try expect(std.mem.eql(u8, &@as([6]u8, res2), "world!")); }` ++ , ++ .arguments = &.{ ++ "comptime E: type", ++ "a: std.meta.Vector(a_len, E)", ++ "b: std.meta.Vector(b_len, E)", ++ "comptime mask: std.meta.Vector(mask_len, i32)", ++ }, ++ }, ++ .{ ++ .name = "@sizeOf", ++ .signature = "@sizeOf(comptime T: type) comptime_int", ++ .snippet = "@sizeOf(${1:comptime T: type})", ++ .documentation = ++ \\This function returns the number of bytes it takes to store `T` in memory. The result is a target-specific compile time constant. ++ \\ ++ \\This size may contain padding bytes. If there were two consecutive T in memory, this would be the offset in bytes between element at index 0 and the element at index 1. For [integer](https://ziglang.org/documentation/0.9.1/#Integers), consider whether you want to use `@sizeOf(T)` or `@typeInfo(T).Int.bits`. ++ \\ ++ \\This function measures the size at runtime. For types that are disallowed at runtime, such as `comptime_int` and `type`, the result is `0`. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ }, ++ }, ++ .{ ++ .name = "@splat", ++ .signature = "@splat(comptime len: u32, scalar: anytype) std.meta.Vector(len, @TypeOf(scalar))", ++ .snippet = "@splat(${1:comptime len: u32}, ${2:scalar: anytype})", ++ .documentation = ++ \\Produces a vector of length `len` where each element is the value `scalar`:

{#code_begin|test|vector_splat#} const std = @import("std"); const expect = std.testing.expect; test "vector @splat" { const scalar: u32 = 5; const result = @splat(4, scalar); comptime try expect(@TypeOf(result) == std.meta.Vector(4, u32)); try expect(std.mem.eql(u32, &@as([4]u32, result), &[_]u32{ 5, 5, 5, 5 })); }` ++ \\ ++ \\`scalar` must be an [integer](https://ziglang.org/documentation/0.9.1/#Integers), [bool](https://ziglang.org/documentation/0.9.1/#Primitive-Types), [float](https://ziglang.org/documentation/0.9.1/#Floats), or [pointer](https://ziglang.org/documentation/0.9.1/#Pointers). ++ , ++ .arguments = &.{ ++ "comptime len: u32", ++ "scalar: anytype", ++ }, ++ }, ++ .{ ++ .name = "@reduce", ++ .signature = "@reduce(comptime op: std.builtin.ReduceOp, value: anytype) std.meta.Child(value)", ++ .snippet = "@reduce(${1:comptime op: std.builtin.ReduceOp}, ${2:value: anytype})", ++ .documentation = ++ \\Transforms a [vector](https://ziglang.org/documentation/0.9.1/#Vectors) into a scalar value by performing a sequential horizontal reduction of its elements using the specified operator `op`. ++ \\ ++ \\Not every operator is available for every vector element type: ++ \\ - `.And`, `.Or`, `.Xor` are available for `bool` vectors, ++ \\ - `.Min`, `.Max`, `.Add`, `.Mul` are available for [floating point](https://ziglang.org/documentation/0.9.1/#Floats) vectors, ++ \\ - Every operator is available for [integer](https://ziglang.org/documentation/0.9.1/#Integers) vectors. ++ \\ ++ \\Note that `.Add` and `.Mul` reductions on integral types are wrapping; when applied on floating point types the operation associativity is preserved, unless the float mode is set to `Optimized`.

{#code_begin|test|vector_reduce#} const std = @import("std"); const expect = std.testing.expect; test "vector @reduce" { const value: std.meta.Vector(4, i32) = [_]i32{ 1, -1, 1, -1 }; const result = value > @splat(4, @as(i32, 0)); // result is { true, false, true, false }; comptime try expect(@TypeOf(result) == std.meta.Vector(4, bool)); const is_all_true = @reduce(.And, result); comptime try expect(@TypeOf(is_all_true) == bool); try expect(is_all_true == false); }` ++ , ++ .arguments = &.{ ++ "comptime op: std.builtin.ReduceOp", ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@src", ++ .signature = "@src() std.builtin.SourceLocation", ++ .snippet = "@src()", ++ .documentation = ++ \\Returns a `SourceLocation` struct representing the function's name and location in the source code. This must be called in a function.

{#code_begin|test|source_location#} const std = @import("std"); const expect = std.testing.expect; test "@src" { try doTheTest(); } fn doTheTest() !void { const src = @src(); try expect(src.line == 9); try expect(src.column == 17); try expect(std.mem.endsWith(u8, src.fn_name, "doTheTest")); try expect(std.mem.endsWith(u8, src.file, "source_location.zig")); }` ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@sqrt", ++ .signature = "@sqrt(value: anytype) @TypeOf(value)", ++ .snippet = "@sqrt(${1:value: anytype})", ++ .documentation = ++ \\Performs the square root of a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats) and [Vectors](https://ziglang.org/documentation/0.9.1/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@sin", ++ .signature = "@sin(value: anytype) @TypeOf(value)", ++ .snippet = "@sin(${1:value: anytype})", ++ .documentation = ++ \\Sine trigonometric function on a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats) and [Vectors](https://ziglang.org/documentation/0.9.1/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@cos", ++ .signature = "@cos(value: anytype) @TypeOf(value)", ++ .snippet = "@cos(${1:value: anytype})", ++ .documentation = ++ \\Cosine trigonometric function on a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats) and [Vectors](https://ziglang.org/documentation/0.9.1/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@exp", ++ .signature = "@exp(value: anytype) @TypeOf(value)", ++ .snippet = "@exp(${1:value: anytype})", ++ .documentation = ++ \\Base-e exponential function on a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats) and [Vectors](https://ziglang.org/documentation/0.9.1/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@exp2", ++ .signature = "@exp2(value: anytype) @TypeOf(value)", ++ .snippet = "@exp2(${1:value: anytype})", ++ .documentation = ++ \\Base-2 exponential function on a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats) and [Vectors](https://ziglang.org/documentation/0.9.1/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@log", ++ .signature = "@log(value: anytype) @TypeOf(value)", ++ .snippet = "@log(${1:value: anytype})", ++ .documentation = ++ \\Returns the natural logarithm of a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats) and [Vectors](https://ziglang.org/documentation/0.9.1/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@log2", ++ .signature = "@log2(value: anytype) @TypeOf(value)", ++ .snippet = "@log2(${1:value: anytype})", ++ .documentation = ++ \\Returns the logarithm to the base 2 of a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats) and [Vectors](https://ziglang.org/documentation/0.9.1/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@log10", ++ .signature = "@log10(value: anytype) @TypeOf(value)", ++ .snippet = "@log10(${1:value: anytype})", ++ .documentation = ++ \\Returns the logarithm to the base 10 of a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats) and [Vectors](https://ziglang.org/documentation/0.9.1/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@fabs", ++ .signature = "@fabs(value: anytype) @TypeOf(value)", ++ .snippet = "@fabs(${1:value: anytype})", ++ .documentation = ++ \\Returns the absolute value of a floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats) and [Vectors](https://ziglang.org/documentation/0.9.1/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@floor", ++ .signature = "@floor(value: anytype) @TypeOf(value)", ++ .snippet = "@floor(${1:value: anytype})", ++ .documentation = ++ \\Returns the largest integral value not greater than the given floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats) and [Vectors](https://ziglang.org/documentation/0.9.1/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@ceil", ++ .signature = "@ceil(value: anytype) @TypeOf(value)", ++ .snippet = "@ceil(${1:value: anytype})", ++ .documentation = ++ \\Returns the smallest integral value not less than the given floating point number. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats) and [Vectors](https://ziglang.org/documentation/0.9.1/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@trunc", ++ .signature = "@trunc(value: anytype) @TypeOf(value)", ++ .snippet = "@trunc(${1:value: anytype})", ++ .documentation = ++ \\Rounds the given floating point number to an integer, towards zero. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats) and [Vectors](https://ziglang.org/documentation/0.9.1/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@round", ++ .signature = "@round(value: anytype) @TypeOf(value)", ++ .snippet = "@round(${1:value: anytype})", ++ .documentation = ++ \\Rounds the given floating point number to an integer, away from zero. Uses a dedicated hardware instruction when available. ++ \\ ++ \\Supports [Floats](https://ziglang.org/documentation/0.9.1/#Floats) and [Vectors](https://ziglang.org/documentation/0.9.1/#Vectors) of floats, with the caveat that [some float operations are not yet implemented for all float types](https://github.com/ziglang/zig/issues/4026). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@subWithOverflow", ++ .signature = "@subWithOverflow(comptime T: type, a: T, b: T, result: *T) bool", ++ .snippet = "@subWithOverflow(${1:comptime T: type}, ${2:a: T}, ${3:b: T}, ${4:result: *T})", ++ .documentation = ++ \\Performs `result.* = a - b`. If overflow or underflow occurs, stores the overflowed bits in `result` and returns `true`. If no overflow or underflow occurs, returns `false`. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "a: T", ++ "b: T", ++ "result: *T", ++ }, ++ }, ++ .{ ++ .name = "@tagName", ++ .signature = "@tagName(value: anytype) [:0]const u8", ++ .snippet = "@tagName(${1:value: anytype})", ++ .documentation = ++ \\Converts an enum value or union value to a string literal representing the name. ++ \\ ++ \\If the enum is non-exhaustive and the tag value does not map to a name, it invokes safety-checked [Undefined Behavior](https://ziglang.org/documentation/0.9.1/#Undefined-Behavior). ++ , ++ .arguments = &.{ ++ "value: anytype", ++ }, ++ }, ++ .{ ++ .name = "@This", ++ .signature = "@This() type", ++ .snippet = "@This()", ++ .documentation = ++ \\Returns the innermost struct, enum, or union that this function call is inside. This can be useful for an anonymous struct that needs to refer to itself:

{#code_begin|test|this_innermost#} const std = @import("std"); const expect = std.testing.expect; test "@This()" { var items = [_]i32{ 1, 2, 3, 4 }; const list = List(i32){ .items = items[0..] }; try expect(list.length() == 4); } fn List(comptime T: type) type { return struct { const Self = @This(); items: []T, fn length(self: Self) usize { return self.items.len; } }; }` ++ \\ ++ \\When `@This()` is used at file scope, it returns a reference to the struct that corresponds to the current file. ++ , ++ .arguments = &.{}, ++ }, ++ .{ ++ .name = "@truncate", ++ .signature = "@truncate(comptime T: type, integer: anytype) T", ++ .snippet = "@truncate(${1:comptime T: type}, ${2:integer: anytype})", ++ .documentation = ++ \\This function truncates bits from an integer type, resulting in a smaller or same-sized integer type. ++ \\ ++ \\This function always truncates the significant bits of the integer, regardless of endianness on the target platform. ++ \\ ++ \\Calling `@truncate` on a number out of range of the destination type is well defined and working code: ++ \\ ++ \\```zig ++ \\const std = @import("std"); ++ \\const expect = std.testing.expect; ++ \\ ++ \\test "integer truncation" { ++ \\ var a: u16 = 0xabcd; ++ \\ var b: u8 = @truncate(u8, a); ++ \\ try expect(b == 0xcd); ++ \\} ++ \\``` ++ \\ ++ \\Use [@intCast](https://ziglang.org/documentation/0.9.1/#intCast) to convert numbers guaranteed to fit the destination type. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ "integer: anytype", ++ }, ++ }, ++ .{ ++ .name = "@Type", ++ .signature = "@Type(comptime info: std.builtin.TypeInfo) type", ++ .snippet = "@Type(${1:comptime info: std.builtin.TypeInfo})", ++ .documentation = ++ \\This function is the inverse of [@typeInfo](https://ziglang.org/documentation/0.9.1/#typeInfo). It reifies type information into a `type`. ++ \\ ++ \\It is available for the following types: ++ \\ - `type` ++ \\ - `noreturn` ++ \\ - `void` ++ \\ - `bool` ++ \\ - [Integers](https://ziglang.org/documentation/0.9.1/#Integers) - The maximum bit count for an integer type is `65535`. ++ \\ - [Floats](https://ziglang.org/documentation/0.9.1/#Floats) ++ \\ - [Pointers](https://ziglang.org/documentation/0.9.1/#Pointers) ++ \\ - `comptime_int` ++ \\ - `comptime_float` ++ \\ - `@TypeOf(undefined)` ++ \\ - `@TypeOf(null)` ++ \\ - [Arrays](https://ziglang.org/documentation/0.9.1/#Arrays) ++ \\ - [Optionals](https://ziglang.org/documentation/0.9.1/#Optionals) ++ \\ - [Error Set Type](https://ziglang.org/documentation/0.9.1/#Error-Set-Type) ++ \\ - [Error Union Type](https://ziglang.org/documentation/0.9.1/#Error-Union-Type) ++ \\ - [Vectors](https://ziglang.org/documentation/0.9.1/#Vectors) ++ \\ - [opaque](https://ziglang.org/documentation/0.9.1/#opaque) ++ \\ - [@Frame](https://ziglang.org/documentation/0.9.1/#Frame) ++ \\ - `anyframe` ++ \\ - [struct](https://ziglang.org/documentation/0.9.1/#struct) ++ \\ - [enum](https://ziglang.org/documentation/0.9.1/#enum) ++ \\ - [Enum Literals](https://ziglang.org/documentation/0.9.1/#Enum-Literals) ++ \\ - [union](https://ziglang.org/documentation/0.9.1/#union) ++ \\ ++ \\For these types, `@Type` is not available: ++ \\ - [Functions](https://ziglang.org/documentation/0.9.1/#Functions) ++ \\ - BoundFn ++ , ++ .arguments = &.{ ++ "comptime info: std.builtin.TypeInfo", ++ }, ++ }, ++ .{ ++ .name = "@typeInfo", ++ .signature = "@typeInfo(comptime T: type) std.builtin.TypeInfo", ++ .snippet = "@typeInfo(${1:comptime T: type})", ++ .documentation = ++ \\Provides type reflection. ++ \\ ++ \\Type information of [structs](https://ziglang.org/documentation/0.9.1/#struct), [unions](https://ziglang.org/documentation/0.9.1/#union), [enums](https://ziglang.org/documentation/0.9.1/#enum), and [error sets](https://ziglang.org/documentation/0.9.1/#Error-Set-Type) has fields which are are guaranteed to be in the same order as appearance in the source file. ++ \\ ++ \\Type information of [structs](https://ziglang.org/documentation/0.9.1/#struct), [unions](https://ziglang.org/documentation/0.9.1/#union), [enums](https://ziglang.org/documentation/0.9.1/#enum), and [opaques](https://ziglang.org/documentation/0.9.1/#opaque) has declarations, which are also guaranteed to be in the same order as appearance in the source file. ++ , ++ .arguments = &.{ ++ "comptime T: type", ++ }, ++ }, ++ .{ ++ .name = "@typeName", ++ .signature = "@typeName(T: type) *const [N:0]u8", ++ .snippet = "@typeName(${1:T: type})", ++ .documentation = ++ \\This function returns the string representation of a type, as an array. It is equivalent to a string literal of the type name. ++ , ++ .arguments = &.{ ++ "T: type", ++ }, ++ }, ++ .{ ++ .name = "@TypeOf", ++ .signature = "@TypeOf(...) type", ++ .snippet = "@TypeOf(${1:...})", ++ .documentation = ++ \\`@TypeOf` is a special builtin function that takes any (nonzero) number of expressions as parameters and returns the type of the result, using [Peer Type Resolution](https://ziglang.org/documentation/0.9.1/#Peer-Type-Resolution). ++ \\ ++ \\The expressions are evaluated, however they are guaranteed to have no *runtime* side-effects:

{#code_begin|test|no_runtime_side_effects#} const std = @import("std"); const expect = std.testing.expect; test "no runtime side effects" { var data: i32 = 0; const T = @TypeOf(foo(i32, &data)); comptime try expect(T == i32); try expect(data == 0); } fn foo(comptime T: type, ptr: *T) T { ptr.* += 1; return ptr.*; }` ++ , ++ .arguments = &.{ ++ "...", ++ }, ++ }, ++ .{ ++ .name = "@unionInit", ++ .signature = "@unionInit(comptime Union: type, comptime active_field_name: []const u8, init_expr) Union", ++ .snippet = "@unionInit(${1:comptime Union: type}, ${2:comptime active_field_name: []const u8}, ${3:init_expr})", ++ .documentation = ++ \\This is the same thing as [union](https://ziglang.org/documentation/0.9.1/#union) initialization syntax, except that the field name is a [comptime](https://ziglang.org/documentation/0.9.1/#comptime)-known value rather than an identifier token. ++ \\ ++ \\`@unionInit` forwards its [result location](https://ziglang.org/documentation/0.9.1/#Result-Location-Semantics) to `init_expr`. ++ , ++ .arguments = &.{ ++ "comptime Union: type", ++ "comptime active_field_name: []const u8", ++ "init_expr", ++ }, ++ }, ++}; +diff --git a/src/data/data.zig b/src/data/data.zig +index f6e3b049..21257bfe 100644 +--- a/src/data/data.zig ++++ b/src/data/data.zig +@@ -7,4 +7,6 @@ pub usingnamespace switch (build_options.data_version) { + .@"0.8.0" => @import("0.8.0.zig"), + .@"0.8.1" => @import("0.8.1.zig"), + .@"0.9.0" => @import("0.9.0.zig"), ++ .@"0.9.1" => @import("0.9.1.zig"), ++ .@"0.10.0" => @import("0.10.0.zig"), + }; +diff --git a/src/data/master.zig b/src/data/master.zig +index 917d3fe2..9eacf7b5 100644 +--- a/src/data/master.zig ++++ b/src/data/master.zig +@@ -7,6 +7,18 @@ const Builtin = struct { + }; + + pub const builtins = [_]Builtin{ ++ .{ ++ .name = "@addrSpaceCast", ++ .signature = "@addrSpaceCast(comptime addrspace: std.builtin.AddressSpace, ptr: anytype) anytype", ++ .snippet = "@addrSpaceCast(${1:comptime addrspace: std.builtin.AddressSpace}, ${2:ptr: anytype})", ++ .documentation = ++ \\Converts a pointer from one address space to another. Depending on the current target and address spaces, this cast may be a no-op, a complex operation, or illegal. If the cast is legal, then the resulting pointer points to the same memory location as the pointer operand. It is always valid to cast a pointer between the same address spaces. ++ , ++ .arguments = &.{ ++ "comptime addrspace: std.builtin.AddressSpace", ++ "ptr: anytype", ++ }, ++ }, + .{ + .name = "@addWithOverflow", + .signature = "@addWithOverflow(comptime T: type, a: T, b: T, result: *T) bool", +@@ -26,7 +38,7 @@ pub const builtins = [_]Builtin{ + .signature = "@alignCast(comptime alignment: u29, ptr: anytype) anytype", + .snippet = "@alignCast(${1:comptime alignment: u29}, ${2:ptr: anytype})", + .documentation = +- \\`ptr` can be `*T`, `fn()`, `?*T`, `?fn()`, or `[]T`. It returns the same type as `ptr` except with the alignment adjusted to the new value. ++ \\`ptr` can be `*T`, `?*T`, or `[]T`. It returns the same type as `ptr` except with the alignment adjusted to the new value. + \\ + \\A [pointer alignment safety check](https://ziglang.org/documentation/master/#Incorrect-Pointer-Alignment) is added to the generated code to make sure the pointer is aligned as promised. + , +@@ -222,7 +234,7 @@ pub const builtins = [_]Builtin{ + .signature = "@mulAdd(comptime T: type, a: T, b: T, c: T) T", + .snippet = "@mulAdd(${1:comptime T: type}, ${2:a: T}, ${3:b: T}, ${4:c: T})", + .documentation = +- \\Fused multiply add, similar to `(a * b) + c`, except only rounds once, and is thus more accurate. ++ \\Fused multiply-add, similar to `(a * b) + c`, except only rounds once, and is thus more accurate. + \\ + \\Supports [Floats](https://ziglang.org/documentation/master/#Floats) and [Vectors](https://ziglang.org/documentation/master/#Vectors) of floats. + , +@@ -474,8 +486,6 @@ pub const builtins = [_]Builtin{ + \\} + \\``` + \\ +- \\will output: +- \\ + \\If all `@compileLog` calls are removed or not encountered by analysis, the program compiles successfully and the generated executable prints:

{#code_begin|test|without_compileLog#} const print = @import("std").debug.print; const num1 = blk: { var val1: i32 = 99; val1 = val1 + 1; break :blk val1; }; test "main" { print("Runtime in main, num1 = {}.\n", .{num1}); }` + , + .arguments = &.{ +@@ -791,7 +801,7 @@ pub const builtins = [_]Builtin{ + .documentation = + \\This function returns the base pointer of the current stack frame. + \\ +- \\The implications of this are target specific and not consistent across all platforms. The frame address may not be available in release mode due to aggressive optimizations. ++ \\The implications of this are target-specific and not consistent across all platforms. The frame address may not be available in release mode due to aggressive optimizations. + \\ + \\This function is only valid within function scope. + , +@@ -853,8 +863,8 @@ pub const builtins = [_]Builtin{ + \\ + \\The following packages are always available: + \\ - `@import("std")` - Zig Standard Library +- \\ - `@import("builtin")` - Target-specific information The command `zig build-exe --show-builtin` outputs the source to stdout for reference. +- \\ - `@import("root")` - Points to the root source file This is usually `src/main.zig` but it depends on what file is chosen to be built. ++ \\ - `@import("builtin")` - Target-specific information. The command `zig build-exe --show-builtin` outputs the source to stdout for reference. ++ \\ - `@import("root")` - Points to the root source file. This is usually `src/main.zig` but it depends on what file is chosen to be built. + , + .arguments = &.{ + "comptime path: []u8", +@@ -1117,7 +1127,7 @@ pub const builtins = [_]Builtin{ + .signature = "@prefetch(ptr: anytype, comptime options: std.builtin.PrefetchOptions)", + .snippet = "@prefetch(${1:ptr: anytype}, ${2:comptime options: std.builtin.PrefetchOptions})", + .documentation = +- \\This builtin tells the compiler to emit a prefetch instruction if supported by the target CPU. If the target CPU does not support the requested prefetch instruction, this builtin is a noop. This function has no effect on the behavior of the program, only on the performance characteristics. ++ \\This builtin tells the compiler to emit a prefetch instruction if supported by the target CPU. If the target CPU does not support the requested prefetch instruction, this builtin is a no-op. This function has no effect on the behavior of the program, only on the performance characteristics. + \\ + \\The `ptr` argument may be any pointer type and determines the memory address to prefetch. This function does not dereference the pointer, it is perfectly legal to pass a pointer to invalid memory to this function and no illegal behavior will result. + \\ +@@ -1147,11 +1157,7 @@ pub const builtins = [_]Builtin{ + .signature = "@ptrToInt(value: anytype) usize", + .snippet = "@ptrToInt(${1:value: anytype})", + .documentation = +- \\Converts `value` to a `usize` which is the address of the pointer. `value` can be one of these types: +- \\ - `*T` +- \\ - `?*T` +- \\ - `fn()` +- \\ - `?fn()` ++ \\Converts `value` to a `usize` which is the address of the pointer. `value` can be `*T` or `?*T`. + \\ + \\To convert the other way, use [@intToPtr](https://ziglang.org/documentation/master/#intToPtr) + , +@@ -1182,7 +1188,7 @@ pub const builtins = [_]Builtin{ + .documentation = + \\This function returns the address of the next machine code instruction that will be executed when the current function returns. + \\ +- \\The implications of this are target specific and not consistent across all platforms. ++ \\The implications of this are target-specific and not consistent across all platforms. + \\ + \\This function is only valid within function scope. If the function gets inlined into a calling function, the returned address will apply to the calling function. + , +@@ -1270,7 +1276,7 @@ pub const builtins = [_]Builtin{ + \\ - Assume the arguments and result are not +/-Inf. Optimizations are required to retain defined behavior over +/-Inf, but the value of the result is undefined. + \\ - Treat the sign of a zero argument or result as insignificant. + \\ - Use the reciprocal of an argument rather than perform division. +- \\ - Perform floating-point contraction (e.g. fusing a multiply followed by an addition into a fused multiply-and-add). ++ \\ - Perform floating-point contraction (e.g. fusing a multiply followed by an addition into a fused multiply-add). + \\ - Perform algebraically equivalent transformations that may change results in floating point (e.g. reassociate). This is equivalent to `-ffast-math` in GCC. + \\ + \\The floating point mode is inherited by child scopes, and can be overridden in any scope. You can set the floating point mode in a struct or module scope by using a comptime block. +@@ -1367,7 +1373,7 @@ pub const builtins = [_]Builtin{ + .documentation = + \\Constructs a new [vector](https://ziglang.org/documentation/master/#Vectors) by selecting elements from `a` and `b` based on `mask`. + \\ +- \\Each element in `mask` selects an element from either `a` or `b`. Positive numbers select from `a` starting at 0. Negative values select from `b`, starting at `-1` and going down. It is recommended to use the `~` operator from indexes from `b` so that both indexes can start from `0` (i.e. `~@as(i32, 0)` is `-1`). ++ \\Each element in `mask` selects an element from either `a` or `b`. Positive numbers select from `a` starting at 0. Negative values select from `b`, starting at `-1` and going down. It is recommended to use the `~` operator for indexes from `b` so that both indexes can start from `0` (i.e. `~@as(i32, 0)` is `-1`). + \\ + \\For each element of `mask`, if it or the selected value from `a` or `b` is `undefined`, then the resulting element is `undefined`. + \\ +@@ -1737,7 +1743,7 @@ pub const builtins = [_]Builtin{ + .documentation = + \\Provides type reflection. + \\ +- \\Type information of [structs](https://ziglang.org/documentation/master/#struct), [unions](https://ziglang.org/documentation/master/#union), [enums](https://ziglang.org/documentation/master/#enum), and [error sets](https://ziglang.org/documentation/master/#Error-Set-Type) has fields which are are guaranteed to be in the same order as appearance in the source file. ++ \\Type information of [structs](https://ziglang.org/documentation/master/#struct), [unions](https://ziglang.org/documentation/master/#union), [enums](https://ziglang.org/documentation/master/#enum), and [error sets](https://ziglang.org/documentation/master/#Error-Set-Type) has fields which are guaranteed to be in the same order as appearance in the source file. + \\ + \\Type information of [structs](https://ziglang.org/documentation/master/#struct), [unions](https://ziglang.org/documentation/master/#union), [enums](https://ziglang.org/documentation/master/#enum), and [opaques](https://ziglang.org/documentation/master/#opaque) has declarations, which are also guaranteed to be in the same order as appearance in the source file. + , +diff --git a/src/shared.zig b/src/shared.zig +index 25212203..fac7994a 100644 +--- a/src/shared.zig ++++ b/src/shared.zig +@@ -7,4 +7,6 @@ pub const ZigVersion = enum { + @"0.8.0", + @"0.8.1", + @"0.9.0", ++ @"0.9.1", ++ @"0.10.0", + }; diff --git a/dev-zig/zls/zls-0.10.0.ebuild b/dev-zig/zls/zls-0.10.0.ebuild new file mode 100644 index 0000000000..3333f5a037 --- /dev/null +++ b/dev-zig/zls/zls-0.10.0.ebuild @@ -0,0 +1,56 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +HOMEPAGE="https://github.com/zigtools/zls" +DESCRIPTION="The officially unofficial Ziglang language server" + +KNOWN_FOLDERS_COMMIT="24845b0103e611c108d6bc334231c464e699742c" +TRACY_COMMIT="f493d4aa8ba8141d9680473fad007d8a6348628e" +SRC_URI=" + https://github.com/ziglibs/known-folders/archive/${KNOWN_FOLDERS_COMMIT}.tar.gz -> known-folders-${KNOWN_FOLDERS_COMMIT}.tar.gz + https://github.com/wolfpld/tracy/archive/${TRACY_COMMIT}.tar.gz -> tracy-${TRACY_COMMIT}.tar.gz + https://github.com/zigtools/zls/archive/refs/tags/${PV}.tar.gz -> zls-${PV}.tar.gz +" +KEYWORDS="~amd64" + +LICENSE="MIT" +SLOT="0" + +DEPEND="|| ( ~dev-lang/zig-0.10.1 ~dev-lang/zig-bin-0.10.1 )" +RDEPEND="${DEPEND}" + +# see https://github.com/ziglang/zig/issues/3382 +# For now, Zig Build System doesn't support CFLAGS/LDFLAGS/etc. +QA_FLAGS_IGNORED="usr/bin/zls" + +PATCHES=( + "${FILESDIR}/zls-0.10.0-add-builtin-data-for-new-zig-versions.patch" +) + +src_prepare() { + rm -r src/known-folders || die + mv "../known-folders-${KNOWN_FOLDERS_COMMIT}" src/known-folders || die + rm -r src/tracy || die + mv "../tracy-${TRACY_COMMIT}" src/zinput || die + + default +} + +src_compile() { + zig build -Drelease-safe -Ddata_version=0.10.0 --verbose || die +} + +src_test() { + zig build test -Drelease-safe -Ddata_version=0.10.0 --verbose || die +} + +src_install() { + DESTDIR="${ED}" zig build install --prefix /usr -Drelease-safe -Ddata_version=0.10.0 --verbose || die + dodoc README.md +} + +pkg_postinst() { + elog "You can find more information about options here https://github.com/zigtools/zls#configuration-options" +} From b27986e958c3282f8795c1b16f26ce8257552925 Mon Sep 17 00:00:00 2001 From: Joe Kappus Date: Thu, 9 Feb 2023 03:25:49 -0500 Subject: [PATCH 23/63] dev-util/git-bug: security bump 0.7.1 -> 0.7.2 https://github.com/MichaelMure/git-bug/security/advisories/GHSA-m898-h4pm-pqfr Signed-off-by: Joe Kappus --- dev-util/git-bug/Manifest | 2 +- dev-util/git-bug/{git-bug-0.7.1.ebuild => git-bug-0.7.2.ebuild} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename dev-util/git-bug/{git-bug-0.7.1.ebuild => git-bug-0.7.2.ebuild} (99%) diff --git a/dev-util/git-bug/Manifest b/dev-util/git-bug/Manifest index 1acbbff530..3e6a902d9f 100644 --- a/dev-util/git-bug/Manifest +++ b/dev-util/git-bug/Manifest @@ -1,5 +1,5 @@ DIST cloud.google.com%2Fgo%2F@v%2Fv0.26.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273 -DIST git-bug-0.7.1.tar.gz 1934695 BLAKE2B d74b7ba98729454282dbe83c4698bd0fbfd58cd438b161e8a3af20a60757cc9ec66b99c11e45a51372b4e22a578a35000e5d59815fa8b9fe489c24c698176c94 SHA512 87b4b5c5e23c6a4be64ed13e38cac92ed6baa02ea40c51d10080045c2392398407c254231cb8c341be8202c33723ddd54892ff59eb6ffd7787305edd4b9b8acc +DIST git-bug-0.7.2.tar.gz 1933613 BLAKE2B a57342aa6db577f310036327e652dfd0b9f9627fb2bc8e366b3be6a90e67502c7c14c67571d8a297a28bb7b6c4e0afc8b047c120c231d8d620d06b7180d5e9fe SHA512 85dac95e09dc0946afafc8bcec303b1bcaac36081bb8c8057e767c57a488496c2e6971b7fcf257903a6021da54f946a7475a72e999e142645f29f7e228570ab2 DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.mod 34 BLAKE2B ce54a247aef91043830bdf0603c8452ba38eceb1495af6e7a74c9119234a0dc5cd080cb25258c28f5e270acf91189a5ed33e361cbf17de2be5e37dadbda1d90d SHA512 320941bc3b7fb8bc595e6135cbc513a7583d129f0cd92508055291e141191066303cf75148e25198c21f6c6c539a790ea3210f3ecf5de6a2a03b70c753091146 DIST github.com%2F!masterminds%2Fglide%2F@v%2Fv0.13.2.mod 36 BLAKE2B 90eea1d6bfb78f872b781706703178c3c010c549c94e28eac0b3ca2ca2ee4bf126bb5320fa8bc0c22aa2aeebb2361572081014253d12a0a8dcfcf28ee607a554 SHA512 37cffb84d5a0e51f4306f042f62a549cbac31f714b497a590149c78d1a16d9b9fb7c3ea9c4c89856dc38b1548fe18afbb537628f0c511faab6a4eb631bcbf43f DIST github.com%2F!masterminds%2Fsemver%2F@v%2Fv1.4.2.mod 37 BLAKE2B 60b2ec6aeaaece8fbe3ca154b432f677dbb46672fdbc95b503f613190df535c7254900c9cfaa3319ab2d7562513640c7cc9fe650d75d97dc09fe84a17e359a86 SHA512 4f01cd11b3ae6f26266154ee37e7a4084e61e865fa9427187a24a02631415f2367a4afad83b4e1cf772b263aaf8f180b4b177e30ae884cdcab239919c9e08bbc diff --git a/dev-util/git-bug/git-bug-0.7.1.ebuild b/dev-util/git-bug/git-bug-0.7.2.ebuild similarity index 99% rename from dev-util/git-bug/git-bug-0.7.1.ebuild rename to dev-util/git-bug/git-bug-0.7.2.ebuild index 5e0a43ef86..a259332128 100644 --- a/dev-util/git-bug/git-bug-0.7.1.ebuild +++ b/dev-util/git-bug/git-bug-0.7.2.ebuild @@ -330,7 +330,7 @@ EGO_SUM=( "sourcegraph.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67/go.mod" ) go-module_set_globals -SRC_URI="https://github.com/MichaelMure/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz +SRC_URI="https://github.com/MichaelMure/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz ${EGO_SUM_SRC_URI}" RESTRICT="strip" From b73d4fa3145dc4f880d657fdb5d8378d0eb8a9f2 Mon Sep 17 00:00:00 2001 From: Joe Kappus Date: Thu, 9 Feb 2023 03:59:08 -0500 Subject: [PATCH 24/63] profiles: mask www-apps/gogs for removal Signed-off-by: Joe Kappus --- profiles/package.mask | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/profiles/package.mask b/profiles/package.mask index 13b94c2d65..f340787baa 100644 --- a/profiles/package.mask +++ b/profiles/package.mask @@ -14,6 +14,12 @@ # New entries go on top. +# Joe Kappus (2023-02-09) +# Multiple critical vulnerabilities, no maintainer: https://github.com/gogs/gogs/security/advisories +# Masked for removal in 30 days. +acct-user/gogs +www-apps/gogs + # Anna Vyalkova (2023-02-02) # Requires Date: Thu, 9 Feb 2023 22:34:13 +0530 Subject: [PATCH 25/63] net-im/session-desktop-bin: add 1.10.7, drop 1.10.4-r1 Signed-off-by: Akash Paul --- net-im/session-desktop-bin/Manifest | 2 +- ...p-bin-1.10.4-r1.ebuild => session-desktop-bin-1.10.7.ebuild} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename net-im/session-desktop-bin/{session-desktop-bin-1.10.4-r1.ebuild => session-desktop-bin-1.10.7.ebuild} (100%) diff --git a/net-im/session-desktop-bin/Manifest b/net-im/session-desktop-bin/Manifest index eae1b87f8a..86da34b100 100644 --- a/net-im/session-desktop-bin/Manifest +++ b/net-im/session-desktop-bin/Manifest @@ -1 +1 @@ -DIST session-desktop-linux-amd64-1.10.4.deb 67382554 BLAKE2B 940431da24da31cf4d001b8d44dd47eeabeb37a3edd84a7da1a041d2930bef2716a7ac30125ef1e7c48355c4672966d9a0c324f282331b2e640a1280fb086cf4 SHA512 3ec3de891451e2cd1114d4c0f465ffb660ebf0dd915ccf1c358127dfcd04767bd2568c081c1790ea4cf99bd654d03c321d67cb2d57937b16d93f7aa3b8021bc6 +DIST session-desktop-linux-amd64-1.10.7.deb 67822974 BLAKE2B 4fb8290f068a360717d945fde10e0de12585d1df0c14df9edcfc3112da4b693a4d8a4aad1f859ba4ef50190b94ebe87c639a164d6f33a93de345f107edcc4d6d SHA512 7acb2ecc42161a0bb6325a068f6ba8f8464fb9c1f2fa449318e4e69a9538882a6a7a432769949629dc57d305c266d3570a3ee78be77986a8475d8fb8f1f3ef8a diff --git a/net-im/session-desktop-bin/session-desktop-bin-1.10.4-r1.ebuild b/net-im/session-desktop-bin/session-desktop-bin-1.10.7.ebuild similarity index 100% rename from net-im/session-desktop-bin/session-desktop-bin-1.10.4-r1.ebuild rename to net-im/session-desktop-bin/session-desktop-bin-1.10.7.ebuild From 98ced59cec28299a45d6b7331f459b38d7cb014a Mon Sep 17 00:00:00 2001 From: Joe Kappus Date: Fri, 10 Feb 2023 01:32:35 -0500 Subject: [PATCH 26/63] games-fps/quakespasm: update URLs to HTTPS Signed-off-by: Joe Kappus --- games-fps/quakespasm/metadata.xml | 2 +- games-fps/quakespasm/quakespasm-0.94.1.ebuild | 2 +- games-fps/quakespasm/quakespasm-9999.ebuild | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/games-fps/quakespasm/metadata.xml b/games-fps/quakespasm/metadata.xml index 7155f7d20a..c676fbf0b5 100644 --- a/games-fps/quakespasm/metadata.xml +++ b/games-fps/quakespasm/metadata.xml @@ -1,5 +1,5 @@ - + contact@hacktivis.me diff --git a/games-fps/quakespasm/quakespasm-0.94.1.ebuild b/games-fps/quakespasm/quakespasm-0.94.1.ebuild index 940da287e6..be3dcedbad 100644 --- a/games-fps/quakespasm/quakespasm-0.94.1.ebuild +++ b/games-fps/quakespasm/quakespasm-0.94.1.ebuild @@ -12,7 +12,7 @@ else fi DESCRIPTION="Modern, cross-platform Quake 1 engine based on FitzQuake" -HOMEPAGE="http://quakespasm.sourceforge.net" +HOMEPAGE="https://quakespasm.sourceforge.net" LICENSE="GPL-2" SLOT="0" IUSE="sdl2" diff --git a/games-fps/quakespasm/quakespasm-9999.ebuild b/games-fps/quakespasm/quakespasm-9999.ebuild index 940da287e6..be3dcedbad 100644 --- a/games-fps/quakespasm/quakespasm-9999.ebuild +++ b/games-fps/quakespasm/quakespasm-9999.ebuild @@ -12,7 +12,7 @@ else fi DESCRIPTION="Modern, cross-platform Quake 1 engine based on FitzQuake" -HOMEPAGE="http://quakespasm.sourceforge.net" +HOMEPAGE="https://quakespasm.sourceforge.net" LICENSE="GPL-2" SLOT="0" IUSE="sdl2" From 35ef4d84b96a348a5315bd02ef777f5f9ed07fd0 Mon Sep 17 00:00:00 2001 From: Joe Kappus Date: Fri, 10 Feb 2023 01:34:45 -0500 Subject: [PATCH 27/63] dev-python/xunitparser: update HOMEPAGE Signed-off-by: Joe Kappus --- dev-python/xunitparser/metadata.xml | 2 +- dev-python/xunitparser/xunitparser-1.3.4.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dev-python/xunitparser/metadata.xml b/dev-python/xunitparser/metadata.xml index c698af2344..2092bcc33a 100644 --- a/dev-python/xunitparser/metadata.xml +++ b/dev-python/xunitparser/metadata.xml @@ -1,5 +1,5 @@ - + contact@hacktivis.me diff --git a/dev-python/xunitparser/xunitparser-1.3.4.ebuild b/dev-python/xunitparser/xunitparser-1.3.4.ebuild index 5c9a67a1bf..2a18397756 100644 --- a/dev-python/xunitparser/xunitparser-1.3.4.ebuild +++ b/dev-python/xunitparser/xunitparser-1.3.4.ebuild @@ -8,7 +8,7 @@ DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 DESCRIPTION="Read JUnit/XUnit XML files and map them to Python objects" -HOMEPAGE="http://gitlab.com/woob/xunitparser/" +HOMEPAGE="https://gitlab.com/woob/xunitparser/" SRC_URI="https://gitlab.com/woob/xunitparser/-/archive/v${PV}/xunitparser-v${PV}.tar.gz" S="${WORKDIR}/xunitparser-v${PV}/" From ec9c16a182623573b33cb176ecb0f0813f2a25ac Mon Sep 17 00:00:00 2001 From: Joe Kappus Date: Fri, 10 Feb 2023 01:44:02 -0500 Subject: [PATCH 28/63] app-dicts/dictd-mueller: update HOMEPAGE Signed-off-by: Joe Kappus --- app-dicts/dictd-mueller/dictd-mueller-3.1-r1.ebuild | 2 +- app-dicts/dictd-mueller/metadata.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app-dicts/dictd-mueller/dictd-mueller-3.1-r1.ebuild b/app-dicts/dictd-mueller/dictd-mueller-3.1-r1.ebuild index f7a903b7d4..2802677684 100644 --- a/app-dicts/dictd-mueller/dictd-mueller-3.1-r1.ebuild +++ b/app-dicts/dictd-mueller/dictd-mueller-3.1-r1.ebuild @@ -9,7 +9,7 @@ MY_P="${MY_PN}-${PV}" inherit autotools DESCRIPTION="V. K. Mueller English-Russian Dictionary" -HOMEPAGE="http://mueller-dict.sourceforge.net" +HOMEPAGE="https://mueller-dict.sourceforge.net" SRC_URI="mirror://sourceforge/${MY_PN}/${MY_P}.tar.gz" S="${WORKDIR}/${MY_P}" diff --git a/app-dicts/dictd-mueller/metadata.xml b/app-dicts/dictd-mueller/metadata.xml index e5aec7e722..c85f2a1fbf 100644 --- a/app-dicts/dictd-mueller/metadata.xml +++ b/app-dicts/dictd-mueller/metadata.xml @@ -1,5 +1,5 @@ - + co-maintainers welcome From 62a9aaa02e16c7cab307200e462ccc01092175d2 Mon Sep 17 00:00:00 2001 From: Joe Kappus Date: Fri, 10 Feb 2023 01:45:02 -0500 Subject: [PATCH 29/63] dev-libs/hts_engine: update HOMEPAGE, SRC_URI Signed-off-by: Joe Kappus --- dev-libs/hts_engine/hts_engine-1.10.ebuild | 4 ++-- dev-libs/hts_engine/metadata.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dev-libs/hts_engine/hts_engine-1.10.ebuild b/dev-libs/hts_engine/hts_engine-1.10.ebuild index 0d8338d8d7..5c149becdd 100644 --- a/dev-libs/hts_engine/hts_engine-1.10.ebuild +++ b/dev-libs/hts_engine/hts_engine-1.10.ebuild @@ -4,8 +4,8 @@ EAPI=7 DESCRIPTION="HMM-based speech synthesis system (HTS) engine and API" -HOMEPAGE="http://hts-engine.sourceforge.net/" -SRC_URI="http://downloads.sourceforge.net/hts-engine/hts_engine_API-${PV}.tar.gz" +HOMEPAGE="https://hts-engine.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/hts-engine/hts_engine_API-${PV}.tar.gz" S="${WORKDIR}/hts_engine_API-${PV}" LICENSE="BSD" SLOT="0" diff --git a/dev-libs/hts_engine/metadata.xml b/dev-libs/hts_engine/metadata.xml index 67b43cc836..9189ca212c 100644 --- a/dev-libs/hts_engine/metadata.xml +++ b/dev-libs/hts_engine/metadata.xml @@ -1,5 +1,5 @@ - + contact@hacktivis.me From 05fc73e8de692a11afb8033d400e9f267334e18b Mon Sep 17 00:00:00 2001 From: Joe Kappus Date: Fri, 10 Feb 2023 01:46:16 -0500 Subject: [PATCH 30/63] x11-terms/mlterm-canna: update HOMEPAGE Signed-off-by: Joe Kappus --- x11-terms/mlterm-canna/mlterm-canna-3.9.2-r1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x11-terms/mlterm-canna/mlterm-canna-3.9.2-r1.ebuild b/x11-terms/mlterm-canna/mlterm-canna-3.9.2-r1.ebuild index 59c02f644d..da755718ee 100644 --- a/x11-terms/mlterm-canna/mlterm-canna-3.9.2-r1.ebuild +++ b/x11-terms/mlterm-canna/mlterm-canna-3.9.2-r1.ebuild @@ -7,7 +7,7 @@ MYPN="mlterm" MYP="${MYPN}-${PV}" DESCRIPTION="canna plugin for mlterm" -HOMEPAGE="http://mlterm.sourceforge.net/" +HOMEPAGE="https://mlterm.sourceforge.net/" SRC_URI="mirror://sourceforge/${MYPN}/${MYP}.tar.gz" S="${WORKDIR}/${MYP}" From 99cfbd17c7faacb6347c2de63970478d92ffba64 Mon Sep 17 00:00:00 2001 From: Joe Kappus Date: Fri, 10 Feb 2023 01:47:06 -0500 Subject: [PATCH 31/63] app-misc/nonsense: update HOMEPAGE Signed-off-by: Joe Kappus --- app-misc/nonsense/metadata.xml | 2 +- app-misc/nonsense/nonsense-0.7-r1.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app-misc/nonsense/metadata.xml b/app-misc/nonsense/metadata.xml index 1808911fe8..d7e850504e 100644 --- a/app-misc/nonsense/metadata.xml +++ b/app-misc/nonsense/metadata.xml @@ -1,5 +1,5 @@ - + lssndrbarbieri@gmail.com diff --git a/app-misc/nonsense/nonsense-0.7-r1.ebuild b/app-misc/nonsense/nonsense-0.7-r1.ebuild index c1ae5fff9c..7165846f3d 100644 --- a/app-misc/nonsense/nonsense-0.7-r1.ebuild +++ b/app-misc/nonsense/nonsense-0.7-r1.ebuild @@ -9,7 +9,7 @@ DESCRIPTION="Generates random text from datafiles and templates" HOMEPAGE=" https://github.com/aduial/nonsense https://sourceforge.net/projects/nonsense/ - http://nonsense.sourceforge.net + https://nonsense.sourceforge.net " SRC_URI="https://github.com/aduial/nonsense/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${PN}-${COMMIT}" From b2b4b2a967b1420378fbdf6d7386d753a15b22b0 Mon Sep 17 00:00:00 2001 From: Joe Kappus Date: Fri, 10 Feb 2023 01:48:09 -0500 Subject: [PATCH 32/63] dev-python/gnuplot-py: update HOMEPAGE Signed-off-by: Joe Kappus --- dev-python/gnuplot-py/gnuplot-py-1.8_p8.ebuild | 2 +- dev-python/gnuplot-py/metadata.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dev-python/gnuplot-py/gnuplot-py-1.8_p8.ebuild b/dev-python/gnuplot-py/gnuplot-py-1.8_p8.ebuild index 4a0038c7d4..7aadcbea96 100644 --- a/dev-python/gnuplot-py/gnuplot-py-1.8_p8.ebuild +++ b/dev-python/gnuplot-py/gnuplot-py-1.8_p8.ebuild @@ -11,7 +11,7 @@ PYTHON_COMPAT=( python3_{8..11} ) inherit distutils-r1 DESCRIPTION="A python wrapper for Gnuplot" -HOMEPAGE="http://gnuplot-py.sourceforge.net/" +HOMEPAGE="https://gnuplot-py.sourceforge.net/" SRC_URI=" mirror://sourceforge/${PN}/${MYP}.tar.gz mirror://debian/pool/main/p/${MYPN}/${MYPN}_${PV//_p/-}.debian.tar.xz diff --git a/dev-python/gnuplot-py/metadata.xml b/dev-python/gnuplot-py/metadata.xml index 9f59e8b797..ae757a8981 100644 --- a/dev-python/gnuplot-py/metadata.xml +++ b/dev-python/gnuplot-py/metadata.xml @@ -1,5 +1,5 @@ - + co-maintainers welcome From 11b5067cc75aa50e1138e4b5c36414d03071ac9b Mon Sep 17 00:00:00 2001 From: Viorel Munteanu Date: Fri, 10 Feb 2023 11:46:45 +0200 Subject: [PATCH 33/63] net-misc/maestral: add 1.7.0_rc2 Signed-off-by: Viorel Munteanu --- net-misc/maestral/Manifest | 1 + net-misc/maestral/maestral-1.7.0_rc2.ebuild | 54 +++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 net-misc/maestral/maestral-1.7.0_rc2.ebuild diff --git a/net-misc/maestral/Manifest b/net-misc/maestral/Manifest index ee00161660..fd410219ac 100644 --- a/net-misc/maestral/Manifest +++ b/net-misc/maestral/Manifest @@ -1,3 +1,4 @@ DIST maestral-1.5.3.gh.tar.gz 8280040 BLAKE2B dcda43880cea3fb00098b6bf87e43318a523a7c9d83886efff58be715cde17f67504b31735a006b951963e5cf0ef70b4b6431cb84200722cae186053a01edd63 SHA512 aa21277623f4e6f3283cd989be910eeb1caa3a842abca595b27a551c1c9bd1e7ef083e495ee0f096190accd91835939cb2f4a26624feae0046d8770d53aaac2f DIST maestral-1.6.5.gh.tar.gz 7983512 BLAKE2B b77cc7eb1a6089cc78e47680d99a53bc4c4752feed3970a57e67eefcf1ab2491c0b3aaebd2fb7caf6fc5420eef2e7fe8776e87047f82db7d1466a4c3d17beaf8 SHA512 ee182505b305dbd6730078ce71725eb75515fb5682889c5226c26a69d32f85ad28e335bcd65b57fd1624da8ecd8914df337a93f6b296d86dcc6e94d4f2747995 DIST maestral-1.7.0_rc1.gh.tar.gz 7986751 BLAKE2B 35808775d3f77a8a6681ed55f781745824f8572047c2c0c2171a019ba1700d48846efb38e59baf5c5ba3b4ba6f138e14acf1324e1e465a1ab1176f42d7ebcfb5 SHA512 13c1daee0803f37263b0e59a7c039218e755611baa7bc072bf15ed6d17015c211026fc8340f5b67181b7bc20228c9c12f49a547be50fd33aba4ebeacd864c38c +DIST maestral-1.7.0_rc2.gh.tar.gz 7986667 BLAKE2B d081bb1178b07483442cfec91c677c9348a91fd09383294c57982961252384acaeaaf2a31af8358afc74614fe8f4c1cecb167fc78fc7d46bbfe598c6ca680ad3 SHA512 79f972bdebe9b59612b6d9d16ef7bda99b7a46fc7c920253228aaaecd9a578424a63947fb30c24d23199a873084b885dd5c8246adbc9cbc901ab58618bf38cf7 diff --git a/net-misc/maestral/maestral-1.7.0_rc2.ebuild b/net-misc/maestral/maestral-1.7.0_rc2.ebuild new file mode 100644 index 0000000000..33e31a844f --- /dev/null +++ b/net-misc/maestral/maestral-1.7.0_rc2.ebuild @@ -0,0 +1,54 @@ +# Copyright 2021-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) +inherit distutils-r1 xdg + +MY_PV=${PV/_rc/.dev} +DESCRIPTION="Maestral is an open-source Dropbox client written in Python" +HOMEPAGE="https://maestral.app" +SRC_URI="https://github.com/samschott/maestral/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}"/${PN}-${MY_PV} + +LICENSE="MIT" +SLOT="0" +if [[ ${PV} != *_rc* ]]; then + KEYWORDS="~amd64" +fi + +RDEPEND=" + >=dev-python/click-8.0.2[${PYTHON_USEDEP}] + >=dev-python/desktop-notifier-3.3.0[${PYTHON_USEDEP}] + =dev-python/dropbox-11*[${PYTHON_USEDEP}] + >=dev-python/fasteners-0.15[${PYTHON_USEDEP}] + dev-python/importlib_metadata[${PYTHON_USEDEP}] + >=dev-python/keyring-22.0.0[${PYTHON_USEDEP}] + >=dev-python/keyrings-alt-3.1.0[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + >=dev-python/pathspec-0.5.8[${PYTHON_USEDEP}] + >=dev-python/Pyro5-5.10[${PYTHON_USEDEP}] + >=dev-python/requests-2.16.2[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + =dev-python/survey-3*[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + >=dev-python/watchdog-2.0.1[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/build[${PYTHON_USEDEP}] +" + +EPYTEST_DESELECT=( + # requires dev-python/pytest-benchmark not available for py3.11 + tests/offline/test_clean_local_events.py::test_performance + + # requires systemd + tests/offline/test_cli.py::test_autostart + + # requires network + tests/offline/test_main.py::test_check_for_updates +) + +distutils_enable_tests pytest From 15a770f1bd2265e6ca0b60765d6df1393e6e0ba7 Mon Sep 17 00:00:00 2001 From: Viorel Munteanu Date: Fri, 10 Feb 2023 11:46:51 +0200 Subject: [PATCH 34/63] net-misc/maestral: drop 1.7.0_rc1 Signed-off-by: Viorel Munteanu --- net-misc/maestral/Manifest | 1 - net-misc/maestral/maestral-1.7.0_rc1.ebuild | 53 --------------------- 2 files changed, 54 deletions(-) delete mode 100644 net-misc/maestral/maestral-1.7.0_rc1.ebuild diff --git a/net-misc/maestral/Manifest b/net-misc/maestral/Manifest index fd410219ac..2d03afd827 100644 --- a/net-misc/maestral/Manifest +++ b/net-misc/maestral/Manifest @@ -1,4 +1,3 @@ DIST maestral-1.5.3.gh.tar.gz 8280040 BLAKE2B dcda43880cea3fb00098b6bf87e43318a523a7c9d83886efff58be715cde17f67504b31735a006b951963e5cf0ef70b4b6431cb84200722cae186053a01edd63 SHA512 aa21277623f4e6f3283cd989be910eeb1caa3a842abca595b27a551c1c9bd1e7ef083e495ee0f096190accd91835939cb2f4a26624feae0046d8770d53aaac2f DIST maestral-1.6.5.gh.tar.gz 7983512 BLAKE2B b77cc7eb1a6089cc78e47680d99a53bc4c4752feed3970a57e67eefcf1ab2491c0b3aaebd2fb7caf6fc5420eef2e7fe8776e87047f82db7d1466a4c3d17beaf8 SHA512 ee182505b305dbd6730078ce71725eb75515fb5682889c5226c26a69d32f85ad28e335bcd65b57fd1624da8ecd8914df337a93f6b296d86dcc6e94d4f2747995 -DIST maestral-1.7.0_rc1.gh.tar.gz 7986751 BLAKE2B 35808775d3f77a8a6681ed55f781745824f8572047c2c0c2171a019ba1700d48846efb38e59baf5c5ba3b4ba6f138e14acf1324e1e465a1ab1176f42d7ebcfb5 SHA512 13c1daee0803f37263b0e59a7c039218e755611baa7bc072bf15ed6d17015c211026fc8340f5b67181b7bc20228c9c12f49a547be50fd33aba4ebeacd864c38c DIST maestral-1.7.0_rc2.gh.tar.gz 7986667 BLAKE2B d081bb1178b07483442cfec91c677c9348a91fd09383294c57982961252384acaeaaf2a31af8358afc74614fe8f4c1cecb167fc78fc7d46bbfe598c6ca680ad3 SHA512 79f972bdebe9b59612b6d9d16ef7bda99b7a46fc7c920253228aaaecd9a578424a63947fb30c24d23199a873084b885dd5c8246adbc9cbc901ab58618bf38cf7 diff --git a/net-misc/maestral/maestral-1.7.0_rc1.ebuild b/net-misc/maestral/maestral-1.7.0_rc1.ebuild deleted file mode 100644 index ef1159aae2..0000000000 --- a/net-misc/maestral/maestral-1.7.0_rc1.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9..11} ) -inherit distutils-r1 xdg - -MY_PV=${PV/_rc/.dev} -DESCRIPTION="Maestral is an open-source Dropbox client written in Python" -HOMEPAGE="https://maestral.app" -SRC_URI="https://github.com/samschott/maestral/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz" -S="${WORKDIR}"/${PN}-${MY_PV} - -LICENSE="MIT" -SLOT="0" -if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~amd64" -fi - -RDEPEND=" - >=dev-python/click-8.0.2[${PYTHON_USEDEP}] - >=dev-python/desktop-notifier-3.3.0[${PYTHON_USEDEP}] - =dev-python/dropbox-11*[${PYTHON_USEDEP}] - >=dev-python/fasteners-0.15[${PYTHON_USEDEP}] - >=dev-python/keyring-22.0.0[${PYTHON_USEDEP}] - >=dev-python/keyrings-alt-3.1.0[${PYTHON_USEDEP}] - dev-python/packaging[${PYTHON_USEDEP}] - >=dev-python/pathspec-0.5.8[${PYTHON_USEDEP}] - >=dev-python/Pyro5-5.10[${PYTHON_USEDEP}] - >=dev-python/requests-2.16.2[${PYTHON_USEDEP}] - dev-python/rich[${PYTHON_USEDEP}] - >=dev-python/survey-3.4.3[${PYTHON_USEDEP}] - =dev-python/watchdog-2.0.1[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/build[${PYTHON_USEDEP}] -" - -EPYTEST_DESELECT=( - # requires dev-python/pytest-benchmark not available for py3.11 - tests/offline/test_clean_local_events.py::test_performance - - # requires systemd - tests/offline/test_cli.py::test_autostart - - # requires network - tests/offline/test_main.py::test_check_for_updates -) - -distutils_enable_tests pytest From 77be02e524e9193d385eaa5bb80282ddb30780ec Mon Sep 17 00:00:00 2001 From: Joe Kappus Date: Fri, 10 Feb 2023 04:46:03 -0500 Subject: [PATCH 35/63] net-misc/moonlight: add 4.3.1, drop 3.1.4 Fixed the CFLAGS getting overridden. Closes: https://bugs.gentoo.org/887891 Closes: https://bugs.gentoo.org/887893 Signed-off-by: Joe Kappus --- net-misc/moonlight/Manifest | 2 +- .../files/4.3.1-respect-cflags.patch | 53 +++++++++++++++++++ net-misc/moonlight/metadata.xml | 3 ++ ...ht-3.1.4.ebuild => moonlight-4.3.1.ebuild} | 7 ++- 4 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 net-misc/moonlight/files/4.3.1-respect-cflags.patch rename net-misc/moonlight/{moonlight-3.1.4.ebuild => moonlight-4.3.1.ebuild} (89%) diff --git a/net-misc/moonlight/Manifest b/net-misc/moonlight/Manifest index df82010352..acf0147bd9 100644 --- a/net-misc/moonlight/Manifest +++ b/net-misc/moonlight/Manifest @@ -1 +1 @@ -DIST MoonlightSrc-3.1.4.tar.gz 55034473 BLAKE2B 1e420ea2f711f010f37e98ae2807ef7b449547d162065ea00809a07174d9e70ce78c7a2dc627ea8f2c275048277f8d45e7430c52df8b8b757c13646e831bbb2e SHA512 893b73f00fb8552f6a7c7bc8dbacac10e7280f2bb31a4813321e3c62a8071b8c6e87688ff9d60bfb27556dea6873c0a87a822e25b6cc0529f016bce7f3480ebc +DIST MoonlightSrc-4.3.1.tar.gz 71454450 BLAKE2B cd6d8d95c3d53dbf73850cd30f86bdb9837806a642472454d70f6abee20ae91bc79c0671c4da0a74fb5f43086841a8318718c4f2f4e4768b395fb4b38d1dde9e SHA512 f5f7b23929aadb87716470522a315cba40d8155be6b76297eab4107e0fef71b48f9f4c9a4cc2b58bd48579db052a8ca8ecda9b49c78c3d229863a30886cf1847 diff --git a/net-misc/moonlight/files/4.3.1-respect-cflags.patch b/net-misc/moonlight/files/4.3.1-respect-cflags.patch new file mode 100644 index 0000000000..caf053e666 --- /dev/null +++ b/net-misc/moonlight/files/4.3.1-respect-cflags.patch @@ -0,0 +1,53 @@ +diff --git a/globaldefs.pri b/globaldefs.pri +index a767cbf9..e40abe6b 100644 +--- a/globaldefs.pri ++++ b/globaldefs.pri +@@ -2,7 +2,7 @@ + CONFIG += debug_and_release + + # Ensure symbols are always generated +-CONFIG += force_debug_info ++# CONFIG += force_debug_info + + # Disable asserts on release builds + CONFIG(release, debug|release) { +Submodule h264bitstream/h264bitstream contains modified content +diff --git a/h264bitstream/h264bitstream/m4/ax_check_debug.m4 b/h264bitstream/h264bitstream/m4/ax_check_debug.m4 +index 1f5252e..df1f444 100644 +--- a/h264bitstream/h264bitstream/m4/ax_check_debug.m4 ++++ b/h264bitstream/h264bitstream/m4/ax_check_debug.m4 +@@ -26,7 +26,7 @@ AC_DEFUN([AX_CHECK_DEBUG], + else + AC_DEFINE([NDEBUG],[],[Release Mode]) + #-O3 anyone? Kills using -g in release mode so we'll stick with O2 for now. +- AM_CFLAGS="$AM_CFLAGS -O2 -g -Wall" ++ AM_CFLAGS="$AM_CFLAGS -Wall" + fi + AC_SUBST([AM_CFLAGS]) + ]) +Submodule moonlight-common-c/moonlight-common-c contains modified content +Submodule enet contains modified content +diff --git a/moonlight-common-c/moonlight-common-c/enet/enet_dll.cbp b/moonlight-common-c/moonlight-common-c/enet/enet_dll.cbp +index 961274c..e9e4ea9 100644 +--- a/moonlight-common-c/moonlight-common-c/enet/enet_dll.cbp ++++ b/moonlight-common-c/moonlight-common-c/enet/enet_dll.cbp +@@ -13,9 +13,6 @@ + + + moonlight-stream/moonlight-qt + Enable support for hardware video decoding using media-libs/libva. diff --git a/net-misc/moonlight/moonlight-3.1.4.ebuild b/net-misc/moonlight/moonlight-4.3.1.ebuild similarity index 89% rename from net-misc/moonlight/moonlight-3.1.4.ebuild rename to net-misc/moonlight/moonlight-4.3.1.ebuild index 00f544b191..4dc580678a 100644 --- a/net-misc/moonlight/moonlight-3.1.4.ebuild +++ b/net-misc/moonlight/moonlight-4.3.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -15,7 +15,7 @@ KEYWORDS="~amd64" IUSE="vaapi" RDEPEND=" - >=dev-libs/openssl-1.1.1l:0/1.1 + >=dev-libs/openssl-1.1.1 >=media-libs/libsdl2-2.0.16-r1:0[kms] >=media-libs/sdl2-ttf-2.0.15:0 >=media-video/ffmpeg-4.4-r1:0 @@ -32,6 +32,9 @@ BDEPEND=" virtual/pkgconfig dev-qt/qtcore " +PATCHES=( + "${FILESDIR}/${PV}-respect-cflags.patch" +) src_configure() { eqmake5 PREFIX="${EPREFIX}/usr" From 685968440d12920a2563cabd6c0d7cb37713f643 Mon Sep 17 00:00:00 2001 From: Niko Huuskonen Date: Fri, 10 Feb 2023 20:04:13 +0200 Subject: [PATCH 36/63] net-im/discord-canary-bin: version bump to 0.0.147 Signed-off-by: Niko Huuskonen --- net-im/discord-canary-bin/Manifest | 2 +- ...ary-bin-0.0.146.ebuild => discord-canary-bin-0.0.147.ebuild} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename net-im/discord-canary-bin/{discord-canary-bin-0.0.146.ebuild => discord-canary-bin-0.0.147.ebuild} (100%) diff --git a/net-im/discord-canary-bin/Manifest b/net-im/discord-canary-bin/Manifest index e123ad880d..134c02ff4c 100644 --- a/net-im/discord-canary-bin/Manifest +++ b/net-im/discord-canary-bin/Manifest @@ -1 +1 @@ -DIST discord-canary-0.0.146.deb 81829098 BLAKE2B 16b5795b5404175d4ef2d8ec5e781d74ffd02a6bb82022c00bc53ff7d23999b94a47aec13cc36c9dd0c6cc1aeaf7b283fcd2dcccd16e22e8c2bb81476dced0d6 SHA512 185697275003932df32c1149c537fc3ea542b5a332a1221a8c0af7336367e6f8b14dc7f7d9ab4b06c96005b416bffdd3fb7b1dbe79ce45558efb16167bdcc268 +DIST discord-canary-0.0.147.deb 81829084 BLAKE2B c6cdc890cd55eb236de8ac4d0391d0e1ee5e2564008aa696588621ceeb5e2161245922fbf660963f9788edf6e56d46f7635bc19822e0863190a04301c632c307 SHA512 cc21dad2001b6af40fa756749b7622ce9af6164073f7b68e7ae76d0c6fbca331ce6b4788a0e2bb8e5cfa033cefe7e4f43859fea66eada6fe5785be75e18eddb1 diff --git a/net-im/discord-canary-bin/discord-canary-bin-0.0.146.ebuild b/net-im/discord-canary-bin/discord-canary-bin-0.0.147.ebuild similarity index 100% rename from net-im/discord-canary-bin/discord-canary-bin-0.0.146.ebuild rename to net-im/discord-canary-bin/discord-canary-bin-0.0.147.ebuild From d9afc1faa4034c6ae81e73273bc149982e179ba4 Mon Sep 17 00:00:00 2001 From: Adrian Schollmeyer Date: Fri, 10 Feb 2023 22:50:40 +0100 Subject: [PATCH 37/63] media-sound/jacktrip: add 1.7.1 Signed-off-by: Adrian Schollmeyer --- media-sound/jacktrip/Manifest | 1 + media-sound/jacktrip/jacktrip-1.7.1.ebuild | 58 ++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 media-sound/jacktrip/jacktrip-1.7.1.ebuild diff --git a/media-sound/jacktrip/Manifest b/media-sound/jacktrip/Manifest index 299ebf3a48..d002cb0d88 100644 --- a/media-sound/jacktrip/Manifest +++ b/media-sound/jacktrip/Manifest @@ -1,2 +1,3 @@ DIST jacktrip-1.6.8.tar.gz 5789095 BLAKE2B ebe1b0c6ade7b40ff6e06bd9f628ba6423542dd496aeb447e5eed5865901b27c3f4ab5dbbc55bfdf22daa0ca03d8a2b734dcd8f80f3c9d64a0c8efda95941fbb SHA512 dc0bf64461eddfbedaa773c177a4c1387e205b5f3efeaf1e999b5ead21abe53122eebdeb75e853cdaeeb03c73eeb968ac7d5d6962b4af27b5009b724775a823c DIST jacktrip-1.7.0.tar.gz 5795989 BLAKE2B 7ae402a98feadb450e7ac36951f4f967bd34b7dd3ce99e23bfe657e74d7a21ac248519ff66fbd1a2e5c719f302b63ec1585dcdc757b86d6608bcc845898d17af SHA512 c7020afc3a495f0fd9aa4014c8a0b4a6f3bad162ad74184a1448fc65591f0f8ae0cc8ddc5be544445d2b02c37036e254b8741d1b37ff3d1b0f97f02f3b9ae214 +DIST jacktrip-1.7.1.tar.gz 5801602 BLAKE2B 05c6e917c73abce0528ed8fb01180bbdb92c2eb3dd14fd77a51dc24b1d15551052a47eeffd509bb92daf102fa2e342bd40e9e7c614aff62479c373ef2a0c8a45 SHA512 cd26c4ef5735567baf159a3389d6eb94b9a1ad4fa44354ffa8efa462a1aa84da112b960fef756b5c7d8a37e31598df16b13935167aeccb85c261fc6782101658 diff --git a/media-sound/jacktrip/jacktrip-1.7.1.ebuild b/media-sound/jacktrip/jacktrip-1.7.1.ebuild new file mode 100644 index 0000000000..f753e329bc --- /dev/null +++ b/media-sound/jacktrip/jacktrip-1.7.1.ebuild @@ -0,0 +1,58 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +DESCRIPTION="Send JACK audio over a network" +HOMEPAGE="https://jacktrip.github.io/jacktrip/ https://github.com/jacktrip/jacktrip" +SRC_URI="https://github.com/jacktrip/jacktrip/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="gui jack +rtaudio virtualstudio" +REQUIRED_USE=" + virtualstudio? ( gui ) + || ( jack rtaudio ) +" + +DEPEND=" + dev-qt/qtcore:5= + dev-qt/qtnetwork:5= + + gui? ( + dev-qt/qtgui:5= + dev-qt/qtwidgets:5= + ) + + jack? ( + virtual/jack + ) + + rtaudio? ( + media-libs/rtaudio:= + ) + + virtualstudio? ( + dev-qt/qtdeclarative:5= + dev-qt/qtnetworkauth:5= + dev-qt/qtsvg:5= + dev-qt/qtwebsockets:5= + ) +" +RDEPEND="${DEPEND}" + +src_configure() { + local emesonargs=( + -Dweakjack=false + -Dnoupdater=true + -Dnogui=$(usex gui false true) + -Dnovs=$(usex virtualstudio false true) + $(meson_feature jack) + $(meson_feature rtaudio) + ) + + meson_src_configure +} From f1b92108938b1ef8bb21dba3315bf820550a7f0f Mon Sep 17 00:00:00 2001 From: Adrian Schollmeyer Date: Fri, 10 Feb 2023 22:51:07 +0100 Subject: [PATCH 38/63] media-sound/jacktrip: drop 1.6.8 Signed-off-by: Adrian Schollmeyer --- media-sound/jacktrip/Manifest | 1 - media-sound/jacktrip/jacktrip-1.6.8.ebuild | 58 ---------------------- 2 files changed, 59 deletions(-) delete mode 100644 media-sound/jacktrip/jacktrip-1.6.8.ebuild diff --git a/media-sound/jacktrip/Manifest b/media-sound/jacktrip/Manifest index d002cb0d88..9d6efdc289 100644 --- a/media-sound/jacktrip/Manifest +++ b/media-sound/jacktrip/Manifest @@ -1,3 +1,2 @@ -DIST jacktrip-1.6.8.tar.gz 5789095 BLAKE2B ebe1b0c6ade7b40ff6e06bd9f628ba6423542dd496aeb447e5eed5865901b27c3f4ab5dbbc55bfdf22daa0ca03d8a2b734dcd8f80f3c9d64a0c8efda95941fbb SHA512 dc0bf64461eddfbedaa773c177a4c1387e205b5f3efeaf1e999b5ead21abe53122eebdeb75e853cdaeeb03c73eeb968ac7d5d6962b4af27b5009b724775a823c DIST jacktrip-1.7.0.tar.gz 5795989 BLAKE2B 7ae402a98feadb450e7ac36951f4f967bd34b7dd3ce99e23bfe657e74d7a21ac248519ff66fbd1a2e5c719f302b63ec1585dcdc757b86d6608bcc845898d17af SHA512 c7020afc3a495f0fd9aa4014c8a0b4a6f3bad162ad74184a1448fc65591f0f8ae0cc8ddc5be544445d2b02c37036e254b8741d1b37ff3d1b0f97f02f3b9ae214 DIST jacktrip-1.7.1.tar.gz 5801602 BLAKE2B 05c6e917c73abce0528ed8fb01180bbdb92c2eb3dd14fd77a51dc24b1d15551052a47eeffd509bb92daf102fa2e342bd40e9e7c614aff62479c373ef2a0c8a45 SHA512 cd26c4ef5735567baf159a3389d6eb94b9a1ad4fa44354ffa8efa462a1aa84da112b960fef756b5c7d8a37e31598df16b13935167aeccb85c261fc6782101658 diff --git a/media-sound/jacktrip/jacktrip-1.6.8.ebuild b/media-sound/jacktrip/jacktrip-1.6.8.ebuild deleted file mode 100644 index 9437113c7f..0000000000 --- a/media-sound/jacktrip/jacktrip-1.6.8.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit meson - -DESCRIPTION="Send JACK audio over a network" -HOMEPAGE="https://jacktrip.github.io/jacktrip/ https://github.com/jacktrip/jacktrip" -SRC_URI="https://github.com/jacktrip/jacktrip/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" -IUSE="+gui jack +rtaudio virtualstudio" -REQUIRED_USE=" - virtualstudio? ( gui ) - || ( jack rtaudio ) -" - -DEPEND=" - dev-qt/qtcore:5= - dev-qt/qtnetwork:5= - - gui? ( - dev-qt/qtgui:5= - dev-qt/qtwidgets:5= - ) - - jack? ( - virtual/jack - ) - - rtaudio? ( - media-libs/rtaudio:= - ) - - virtualstudio? ( - dev-qt/qtdeclarative:5= - dev-qt/qtnetworkauth:5= - dev-qt/qtsvg:5= - dev-qt/qtwebsockets:5= - ) -" -RDEPEND="${DEPEND}" - -src_configure() { - local emesonargs=( - -Dweakjack=false - -Dnoupdater=true - -Dnogui=$(usex gui false true) - -Dnovs=$(usex virtualstudio false true) - $(meson_feature jack) - $(meson_feature rtaudio) - ) - - meson_src_configure -} From c163b1d7bb4bdc88ebb15fc1a217c82b7b55c785 Mon Sep 17 00:00:00 2001 From: Julien Roy Date: Fri, 10 Feb 2023 21:07:38 -0500 Subject: [PATCH 39/63] app-crypt/tang: add 12 Signed-off-by: Julien Roy --- app-crypt/tang/Manifest | 1 + app-crypt/tang/tang-12.ebuild | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 app-crypt/tang/tang-12.ebuild diff --git a/app-crypt/tang/Manifest b/app-crypt/tang/Manifest index c79d202ff8..bd39a83cc2 100644 --- a/app-crypt/tang/Manifest +++ b/app-crypt/tang/Manifest @@ -1 +1,2 @@ DIST tang-11.tar.gz 38502 BLAKE2B cc440780eda3aa2ded7dfa6bea62794c2f08d3c7e89573c4002d5f2644f5cd809357400031c9df94f5128fb24e3e038a56f3df14f8f7762c071404fdb7b62444 SHA512 a1115c7192224f2d09d026776768b4247632333ad152f2cb700567404ff33a220dc1280e4f588c6408775c4b9dc5049b5601bbee6336c8ff7f39ec6f28e26599 +DIST tang-12.tar.gz 41459 BLAKE2B e948e0f7bc206cb7f0a2eeb42bf2b4b3cc5ff96fef4348beb562289684abbbbafc20d5dab4d5b20ffbd3de5008900fed7e649b771e4353642306831c7e048317 SHA512 dc61aa7711700e149f53c08557f917c1363d946137ea1cad7d7a5ff4248fe6726a61e5339ab8853c52b592bd9963fb4041c6c3143d3a32311d9942424bb9d847 diff --git a/app-crypt/tang/tang-12.ebuild b/app-crypt/tang/tang-12.ebuild new file mode 100644 index 0000000000..1b055c35e1 --- /dev/null +++ b/app-crypt/tang/tang-12.ebuild @@ -0,0 +1,35 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson systemd + +DESCRIPTION="Tang binding daemon" +HOMEPAGE="https://github.com/latchset/tang" +SRC_URI="https://github.com/latchset/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +DEPEND="acct-user/tang + net-misc/socat + >=net-libs/http-parser-2.8.0 + >=dev-libs/jose-8" +RDEPEND="${DEPEND}" +BDEPEND="app-text/asciidoc" + +src_install(){ + meson_install + newinitd "${FILESDIR}"/tangd.initd tangd + systemd_dounit "${FILESDIR}"/tangd.service + + doconfd "${FILESDIR}"/tangd + + dodir /var/db/tang + keepdir /var/db/tang + fowners tang:tang /var/db/tang + fperms 770 /var/db/tang +} From 46ba88ec9e98210612916a530d777ecb1b9cb97b Mon Sep 17 00:00:00 2001 From: Seth Price Date: Fri, 10 Feb 2023 22:19:53 -0500 Subject: [PATCH 40/63] games-rpg/snoot-game: update ebuild MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I thought `ebuild ./foo test` meant everything was fine, but I was mistaken. This commit contains everything I should’ve done from the get-go. Closes: https://bugs.gentoo.org/893748 Signed-off-by: Seth Price --- games-rpg/snoot-game/snoot-game-1.8-r1.ebuild | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 games-rpg/snoot-game/snoot-game-1.8-r1.ebuild diff --git a/games-rpg/snoot-game/snoot-game-1.8-r1.ebuild b/games-rpg/snoot-game/snoot-game-1.8-r1.ebuild new file mode 100644 index 0000000000..f8b896dd44 --- /dev/null +++ b/games-rpg/snoot-game/snoot-game-1.8-r1.ebuild @@ -0,0 +1,40 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9,10,11} ) +inherit python-single-r1 desktop wrapper + +DESCRIPTION="Visual novel parody of Goodbye Volcano High" +MY_PV="Patch8_NewYears" +HOMEPAGE="https://snootgame.xyz/" +SRC_URI="https://snootgame.xyz/downloads/game/SnootGame-${MY_PV}-linux.tar.bz2" + +LICENSE="AGPL-3 CC-BY-SA-4.0" +SLOT="0" +KEYWORDS="~amd64" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} virtual/opengl" +BDEPEND="${RDEPEND}" + +S="${WORKDIR}/SnootGame-${MY_PV}-linux/" + +QA_PREBUILT="*" +RESTRICT+=" strip" + +src_install() { + local dir=/opt/${PN} + insinto "${dir}" + + doins -r "${S}/." + dodoc README.md + + fperms +x ${dir}/lib/py3-linux-x86_64/SnootGame + fperms +x ${dir}/SnootGame.sh + + make_wrapper ${PN} "./SnootGame.sh" "${dir}" "${dir}" + make_desktop_entry ${PN} "Snoot Game" + +} From 2bbcb5c8ab88c112dfdd6bea624bc2544495597d Mon Sep 17 00:00:00 2001 From: Kurt Kanzenbach Date: Sat, 11 Feb 2023 11:42:04 +0100 Subject: [PATCH 41/63] net-libs/ulfius: add 2.7.13 Signed-off-by: Kurt Kanzenbach --- net-libs/ulfius/Manifest | 1 + net-libs/ulfius/ulfius-2.7.13.ebuild | 56 ++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 net-libs/ulfius/ulfius-2.7.13.ebuild diff --git a/net-libs/ulfius/Manifest b/net-libs/ulfius/Manifest index 61632cf257..0e2fed1262 100644 --- a/net-libs/ulfius/Manifest +++ b/net-libs/ulfius/Manifest @@ -1 +1,2 @@ DIST ulfius-2.7.12.tar.gz 427636 BLAKE2B 1d9ad9f56275bd602ca73ee5c671ac48e0f5fa2baf188ee3309acc4f24b98488db07a6b8157852395f00813e1985d9bcb0c3d286c6eeee21ecbce5ff41f98396 SHA512 693786ca6d459f22878a751b3d7acbc512dd72f58732df71b449013f3cc73837a24465c8ad8970a5bbd3e7fdc182de2a739ca5408a2d462c02d1eb06a4fa1e01 +DIST ulfius-2.7.13.tar.gz 427607 BLAKE2B 1ccc3c37af135bfab2c7c81231ec8e788cd9df46f9025ae6745e58baff29e0820b7b62f929338f890f1e165bc84b292e3a8e0c6b07e5f83fb9972dcd6414221f SHA512 cb92631f2d20088f21c8accee8841774793d79ae7851e4a0d160db084131e68cb9b78d44bc6519b624f35f007209da61e8173912248cefbec9141cd09690cc3d diff --git a/net-libs/ulfius/ulfius-2.7.13.ebuild b/net-libs/ulfius/ulfius-2.7.13.ebuild new file mode 100644 index 0000000000..e5d9c08a27 --- /dev/null +++ b/net-libs/ulfius/ulfius-2.7.13.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="HTTP Framework for REST Applications in C" +HOMEPAGE="https://github.com/babelouest/ulfius/" +SRC_URI="https://github.com/babelouest/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="curl doc jansson ssl websocket" +RESTRICT="test" + +BDEPEND=" + virtual/pkgconfig +" +DEPEND=" + curl? ( net-misc/curl ) + doc? ( app-doc/doxygen ) + jansson? ( dev-libs/jansson:= ) + ssl? ( net-libs/gnutls:= ) + net-libs/libmicrohttpd:= + net-libs/orcania + sys-libs/zlib +" +RDEPEND=" + ${DEPEND} +" + +src_configure() { + local mycmakeargs=( + -DBUILD_ULFIUS_DOCUMENTATION=$(usex doc) + -DDOWNLOAD_DEPENDENCIES=OFF + -DWITH_CURL=$(usex curl) + -DWITH_GNUTLS=$(usex ssl) + -DWITH_JANSSON=$(usex jansson) + -DWITH_WEBSOCKET=$(usex websocket) + -DWITH_YDER=OFF + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + use doc && cmake_build doc +} + +src_install() { + use doc && local HTML_DOCS=( doc/html/* ) + cmake_src_install +} From 52cc7ab0717c4c852d50def017df02d4e0c74eb5 Mon Sep 17 00:00:00 2001 From: Kurt Kanzenbach Date: Sat, 11 Feb 2023 11:42:17 +0100 Subject: [PATCH 42/63] net-libs/ulfius: drop 2.7.12 Signed-off-by: Kurt Kanzenbach --- net-libs/ulfius/Manifest | 1 - net-libs/ulfius/ulfius-2.7.12.ebuild | 56 ---------------------------- 2 files changed, 57 deletions(-) delete mode 100644 net-libs/ulfius/ulfius-2.7.12.ebuild diff --git a/net-libs/ulfius/Manifest b/net-libs/ulfius/Manifest index 0e2fed1262..5614e9f984 100644 --- a/net-libs/ulfius/Manifest +++ b/net-libs/ulfius/Manifest @@ -1,2 +1 @@ -DIST ulfius-2.7.12.tar.gz 427636 BLAKE2B 1d9ad9f56275bd602ca73ee5c671ac48e0f5fa2baf188ee3309acc4f24b98488db07a6b8157852395f00813e1985d9bcb0c3d286c6eeee21ecbce5ff41f98396 SHA512 693786ca6d459f22878a751b3d7acbc512dd72f58732df71b449013f3cc73837a24465c8ad8970a5bbd3e7fdc182de2a739ca5408a2d462c02d1eb06a4fa1e01 DIST ulfius-2.7.13.tar.gz 427607 BLAKE2B 1ccc3c37af135bfab2c7c81231ec8e788cd9df46f9025ae6745e58baff29e0820b7b62f929338f890f1e165bc84b292e3a8e0c6b07e5f83fb9972dcd6414221f SHA512 cb92631f2d20088f21c8accee8841774793d79ae7851e4a0d160db084131e68cb9b78d44bc6519b624f35f007209da61e8173912248cefbec9141cd09690cc3d diff --git a/net-libs/ulfius/ulfius-2.7.12.ebuild b/net-libs/ulfius/ulfius-2.7.12.ebuild deleted file mode 100644 index e5d9c08a27..0000000000 --- a/net-libs/ulfius/ulfius-2.7.12.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="HTTP Framework for REST Applications in C" -HOMEPAGE="https://github.com/babelouest/ulfius/" -SRC_URI="https://github.com/babelouest/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="curl doc jansson ssl websocket" -RESTRICT="test" - -BDEPEND=" - virtual/pkgconfig -" -DEPEND=" - curl? ( net-misc/curl ) - doc? ( app-doc/doxygen ) - jansson? ( dev-libs/jansson:= ) - ssl? ( net-libs/gnutls:= ) - net-libs/libmicrohttpd:= - net-libs/orcania - sys-libs/zlib -" -RDEPEND=" - ${DEPEND} -" - -src_configure() { - local mycmakeargs=( - -DBUILD_ULFIUS_DOCUMENTATION=$(usex doc) - -DDOWNLOAD_DEPENDENCIES=OFF - -DWITH_CURL=$(usex curl) - -DWITH_GNUTLS=$(usex ssl) - -DWITH_JANSSON=$(usex jansson) - -DWITH_WEBSOCKET=$(usex websocket) - -DWITH_YDER=OFF - ) - - cmake_src_configure -} - -src_compile() { - cmake_src_compile - use doc && cmake_build doc -} - -src_install() { - use doc && local HTML_DOCS=( doc/html/* ) - cmake_src_install -} From b9319d9f21ed943afb53b800e91fa0d5bdfb293e Mon Sep 17 00:00:00 2001 From: Jonas Frei Date: Sat, 11 Feb 2023 14:14:59 +0100 Subject: [PATCH 43/63] games-engines/fs2_open: add 23.0.0, drop 21.4.1-r2 Signed-off-by: Jonas Frei --- games-engines/fs2_open/Manifest | 6 +- .../fs2_open-21.4.1-disable-discord.patch | 55 --------- .../fs2_open-21.4.1-dont-build-lz4.patch | 9 -- ...s2_open-21.4.1-dont-override-ldflags.patch | 14 --- .../files/fs2_open-21.4.1-version-fix.patch | 9 -- .../fs2_open-22.0.0-disable-discord.patch | 55 --------- .../fs2_open-22.0.0-dont-build-lz4.patch | 9 -- ...s2_open-22.0.0-make-arch-independent.patch | 14 --- .../fs2_open-23.0.0-disable-discord.patch | 107 ++++++++++++++++++ .../fs2_open-23.0.0-dont-build-lz4.patch | 9 ++ ...2_open-23.0.0-make-arch-independent.patch} | 0 ...1.4.1-r2.ebuild => fs2_open-23.0.0.ebuild} | 21 +++- 12 files changed, 136 insertions(+), 172 deletions(-) delete mode 100644 games-engines/fs2_open/files/fs2_open-21.4.1-disable-discord.patch delete mode 100644 games-engines/fs2_open/files/fs2_open-21.4.1-dont-build-lz4.patch delete mode 100644 games-engines/fs2_open/files/fs2_open-21.4.1-dont-override-ldflags.patch delete mode 100644 games-engines/fs2_open/files/fs2_open-21.4.1-version-fix.patch delete mode 100644 games-engines/fs2_open/files/fs2_open-22.0.0-disable-discord.patch delete mode 100644 games-engines/fs2_open/files/fs2_open-22.0.0-dont-build-lz4.patch delete mode 100644 games-engines/fs2_open/files/fs2_open-22.0.0-make-arch-independent.patch create mode 100644 games-engines/fs2_open/files/fs2_open-23.0.0-disable-discord.patch create mode 100644 games-engines/fs2_open/files/fs2_open-23.0.0-dont-build-lz4.patch rename games-engines/fs2_open/files/{fs2_open-21.4.1-make-arch-independent.patch => fs2_open-23.0.0-make-arch-independent.patch} (100%) rename games-engines/fs2_open/{fs2_open-21.4.1-r2.ebuild => fs2_open-23.0.0.ebuild} (88%) diff --git a/games-engines/fs2_open/Manifest b/games-engines/fs2_open/Manifest index 612408bc35..2535f772c1 100644 --- a/games-engines/fs2_open/Manifest +++ b/games-engines/fs2_open/Manifest @@ -1,9 +1,9 @@ -DIST fs2_open-21.4.1-ext_libRocket.tar.gz 2417905 BLAKE2B 0e5ac40b0e811b9213fb84f6f2f0ef38ad7d562ae671e865d96e40615c2d67213905ce153a69192c0b53a3e4f0d1aef077c0769e46d308adf9210c0c9d1fe7c2 SHA512 700e242ecb5207faf729ca7d23ac4f28be819c0ef7a0ba51ca18de1592f1016040cd5e4c1c75a573f91cea69dd43549966ac089804a52c0f1b0cfbaabefc4346 -DIST fs2_open-21.4.1-ext_rpavlik-cmake-modules.tar.gz 267464 BLAKE2B d63fa3867aad5fad7bd5d20845dd8d6a6698d59dc30dc511704f3c74bbe958bb6d36160bae3ef5c01027719c50d18e4d24209ea5811c6a52c5af4d3de2a587e9 SHA512 0bb03e2a1c0cafa80849163455cdb5fc5c7200e51f18f0354c36f251b51156f86a04a9f87cd17e2942d14ae8767d8df756062fbcff9b37f04e8399b2e37d306f -DIST fs2_open-21.4.1.tar.gz 10441595 BLAKE2B ae59cea98420cbdd6f18832fa0b8ba332993db03a53cbea43a96827dc4c7da375b14694ce60b1633d8275daa88ac32029be7b8211b7efd427baaffdd784720d9 SHA512 a4e6821ee2513cabf8b521f672c36c45aca8fc83fd6901ba19f2c0c0c27b3516c60dabfec1bfae43d82da94c628b9160c447ce853c9927dbb5901c7298986226 DIST fs2_open-22.0.0-ext_libRocket.tar.gz 2417905 BLAKE2B 0e5ac40b0e811b9213fb84f6f2f0ef38ad7d562ae671e865d96e40615c2d67213905ce153a69192c0b53a3e4f0d1aef077c0769e46d308adf9210c0c9d1fe7c2 SHA512 700e242ecb5207faf729ca7d23ac4f28be819c0ef7a0ba51ca18de1592f1016040cd5e4c1c75a573f91cea69dd43549966ac089804a52c0f1b0cfbaabefc4346 DIST fs2_open-22.0.0-ext_rpavlik-cmake-modules.tar.gz 267464 BLAKE2B d63fa3867aad5fad7bd5d20845dd8d6a6698d59dc30dc511704f3c74bbe958bb6d36160bae3ef5c01027719c50d18e4d24209ea5811c6a52c5af4d3de2a587e9 SHA512 0bb03e2a1c0cafa80849163455cdb5fc5c7200e51f18f0354c36f251b51156f86a04a9f87cd17e2942d14ae8767d8df756062fbcff9b37f04e8399b2e37d306f DIST fs2_open-22.0.0.tar.gz 10573800 BLAKE2B b75bd9e44679bf2ad441178b7f8175f4429e321d2feeddf2cf5b4391e51f82c15250c36b73f3750326b1cd3ce71ae319042f57432d48a41b5abab9e30a4a76ba SHA512 e57972348073571947ff88e5a392ae0b4eec9d81cbcfe3d0ff3c2b844dd676cb33f727ddb32a0544e9cd3f1ae9b614429ea137b8921ef625fad27a53f1875081 DIST fs2_open-22.2.0-ext_libRocket.tar.gz 2417905 BLAKE2B 0e5ac40b0e811b9213fb84f6f2f0ef38ad7d562ae671e865d96e40615c2d67213905ce153a69192c0b53a3e4f0d1aef077c0769e46d308adf9210c0c9d1fe7c2 SHA512 700e242ecb5207faf729ca7d23ac4f28be819c0ef7a0ba51ca18de1592f1016040cd5e4c1c75a573f91cea69dd43549966ac089804a52c0f1b0cfbaabefc4346 DIST fs2_open-22.2.0-ext_rpavlik-cmake-modules.tar.gz 267464 BLAKE2B d63fa3867aad5fad7bd5d20845dd8d6a6698d59dc30dc511704f3c74bbe958bb6d36160bae3ef5c01027719c50d18e4d24209ea5811c6a52c5af4d3de2a587e9 SHA512 0bb03e2a1c0cafa80849163455cdb5fc5c7200e51f18f0354c36f251b51156f86a04a9f87cd17e2942d14ae8767d8df756062fbcff9b37f04e8399b2e37d306f DIST fs2_open-22.2.0.tar.gz 10690003 BLAKE2B 9d751407ee06877e27e18a9295370ed2c97a48ac65c65757ea57ee1f1d7ba36e07cddb9812a62a763eefb842d5df71151243a81e97aa664a8c3123b7b7913255 SHA512 e72ad40f8f52430549f76330f8b34255ae68fff53ced76f56b04ef19d7ce510026c3bb38fcebdb6f3bfaf7db59ca89df5686e8480e883e01b6408d21cb08cc77 +DIST fs2_open-23.0.0-ext_libRocket.tar.gz 2417905 BLAKE2B 0e5ac40b0e811b9213fb84f6f2f0ef38ad7d562ae671e865d96e40615c2d67213905ce153a69192c0b53a3e4f0d1aef077c0769e46d308adf9210c0c9d1fe7c2 SHA512 700e242ecb5207faf729ca7d23ac4f28be819c0ef7a0ba51ca18de1592f1016040cd5e4c1c75a573f91cea69dd43549966ac089804a52c0f1b0cfbaabefc4346 +DIST fs2_open-23.0.0-ext_rpavlik-cmake-modules.tar.gz 267464 BLAKE2B d63fa3867aad5fad7bd5d20845dd8d6a6698d59dc30dc511704f3c74bbe958bb6d36160bae3ef5c01027719c50d18e4d24209ea5811c6a52c5af4d3de2a587e9 SHA512 0bb03e2a1c0cafa80849163455cdb5fc5c7200e51f18f0354c36f251b51156f86a04a9f87cd17e2942d14ae8767d8df756062fbcff9b37f04e8399b2e37d306f +DIST fs2_open-23.0.0.tar.gz 12210430 BLAKE2B 95e5a4f328711a3915b2624941eb90810a19c4d8fe16edc0af47eec3cb1393be8379cd53f27cf378693ba711bd37f0fec360fda931ba17b883195f356a0f8dfc SHA512 efd3648986bb36f0b217ea033ab56ba7c1a705a0d9f16f0351a019d06276f68810729eb9749d1facbf8bc312114eb4e380b68049f5d30b410de2b28c5c67975e diff --git a/games-engines/fs2_open/files/fs2_open-21.4.1-disable-discord.patch b/games-engines/fs2_open/files/fs2_open-21.4.1-disable-discord.patch deleted file mode 100644 index 95c186bf11..0000000000 --- a/games-engines/fs2_open/files/fs2_open-21.4.1-disable-discord.patch +++ /dev/null @@ -1,55 +0,0 @@ ---- fs2_open/code/CMakeLists.txt 2022-03-27 21:03:27.290788070 +0200 -+++ fs2_open/code/CMakeLists.txt 2022-03-27 21:06:50.271782416 +0200 -@@ -41,8 +41,6 @@ - - target_link_libraries(code PUBLIC md5) - --target_link_libraries(code PUBLIC discord-rpc) -- - target_link_libraries(code PUBLIC libRocket) - - target_link_libraries(code PUBLIC pcp) ---- fs2_open/code/source_groups.cmake 2021-11-01 18:00:53.000000000 +0100 -+++ fs2_open/code/source_groups.cmake 2022-03-27 21:35:47.595734025 +0200 -@@ -705,11 +705,6 @@ - libs/antlr/ErrorListener.h - ) - --add_file_folder("Libs\\\\Discord" -- libs/discord/discord.cpp -- libs/discord/discord.h --) -- - if (FSO_BUILD_WITH_FFMPEG) - add_file_folder("Libs\\\\FFmpeg" - libs/ffmpeg/FFmpeg.cpp ---- fs2_open/lib/CMakeLists.txt 2022-03-27 21:03:27.287788070 +0200 -+++ fs2_open/lib/CMakeLists.txt 2022-03-27 21:07:12.849781787 +0200 -@@ -33,8 +33,6 @@ - include(FFmpeg.cmake) - endif() - --add_subdirectory(discord) -- - include(libRocket.cmake) - - add_subdirectory(libpcp) ---- fs2_open/freespace2/freespace.cpp 2021-11-01 18:00:53.000000000 +0100 -+++ fs2_open/freespace2/freespace.cpp 2022-03-27 21:07:50.111780749 +0200 -@@ -83,7 +83,6 @@ - #include "jumpnode/jumpnode.h" - #include "lab/labv2.h" - #include "lab/wmcgui.h" //So that GUI_System can be initialized --#include "libs/discord/discord.h" - #include "libs/ffmpeg/FFmpeg.h" - #include "lighting/lighting.h" - #include "localization/localize.h" -@@ -1940,8 +1939,6 @@ - libs::ffmpeg::initialize(); - #endif - -- libs::discord::init(); -- - nprintf(("General", "Ships.tbl is : %s\n", Game_ships_tbl_valid ? "VALID" : "INVALID!!!!")); - nprintf(("General", "Weapons.tbl is : %s\n", Game_weapons_tbl_valid ? "VALID" : "INVALID!!!!")); - diff --git a/games-engines/fs2_open/files/fs2_open-21.4.1-dont-build-lz4.patch b/games-engines/fs2_open/files/fs2_open-21.4.1-dont-build-lz4.patch deleted file mode 100644 index 45ad913077..0000000000 --- a/games-engines/fs2_open/files/fs2_open-21.4.1-dont-build-lz4.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- fs2_open/lib/CMakeLists.txt 2021-11-01 18:00:53.000000000 +0100 -+++ fs2_open/lib/CMakeLists.txt 2022-03-26 11:34:48.746075280 +0100 -@@ -50,5 +50,3 @@ - add_subdirectory(mdns) - - add_subdirectory(variant) -- --ADD_SUBDIRECTORY(lz4) -\ No newline at end of file diff --git a/games-engines/fs2_open/files/fs2_open-21.4.1-dont-override-ldflags.patch b/games-engines/fs2_open/files/fs2_open-21.4.1-dont-override-ldflags.patch deleted file mode 100644 index 74554ec8e4..0000000000 --- a/games-engines/fs2_open/files/fs2_open-21.4.1-dont-override-ldflags.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- fs2_open/cmake/toolchain-gcc.cmake 2021-11-01 18:00:53.000000000 +0100 -+++ fs2_open/cmake/toolchain-gcc.cmake 2022-03-27 17:52:26.738107292 +0200 -@@ -27,6 +27,11 @@ - set(COMPILER_FLAGS "") - set(LINKER_FLAGS "") - -+# Don't ignore user-set LDFLAGS -+if(DEFINED ENV{LDFLAGS}) -+ set(LINKER_FLAGS $ENV{LDFLAGS}) -+endif() -+ - if (GCC_USE_GOLD) - OPTION(GCC_INCREMENTAL_LINKING "Use incremental linking" OFF) - set(LINKER_FLAGS "${LINKER_FLAGS} -fuse-ld=gold") diff --git a/games-engines/fs2_open/files/fs2_open-21.4.1-version-fix.patch b/games-engines/fs2_open/files/fs2_open-21.4.1-version-fix.patch deleted file mode 100644 index a9c2c845f8..0000000000 --- a/games-engines/fs2_open/files/fs2_open-21.4.1-version-fix.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- fs2_open/version_override.cmake -+++ fs2_open/version_override.cmake -@@ -1,5 +1,5 @@ - set(FSO_VERSION_MAJOR 21) - set(FSO_VERSION_MINOR 4) --set(FSO_VERSION_BUILD 0) -+set(FSO_VERSION_BUILD 1) - set(FSO_VERSION_REVISION 0) - set(FSO_VERSION_REVISION_STR ) diff --git a/games-engines/fs2_open/files/fs2_open-22.0.0-disable-discord.patch b/games-engines/fs2_open/files/fs2_open-22.0.0-disable-discord.patch deleted file mode 100644 index 1b145d7da1..0000000000 --- a/games-engines/fs2_open/files/fs2_open-22.0.0-disable-discord.patch +++ /dev/null @@ -1,55 +0,0 @@ ---- fs2_open/code/CMakeLists.txt 2022-03-27 21:03:27.290788070 +0200 -+++ fs2_open/code/CMakeLists.txt 2022-03-27 21:06:50.271782416 +0200 -@@ -41,8 +41,6 @@ - - target_link_libraries(code PUBLIC md5) - --target_link_libraries(code PUBLIC discord-rpc) -- - target_link_libraries(code PUBLIC libRocket) - - target_link_libraries(code PUBLIC pcp) ---- fs2_open/code/source_groups.cmake 2021-11-01 18:00:53.000000000 +0100 -+++ fs2_open/code/source_groups.cmake 2022-03-27 21:35:47.595734025 +0200 -@@ -705,11 +705,6 @@ - libs/antlr/ErrorListener.h - ) - --add_file_folder("Libs\\\\Discord" -- libs/discord/discord.cpp -- libs/discord/discord.h --) -- - if (FSO_BUILD_WITH_FFMPEG) - add_file_folder("Libs\\\\FFmpeg" - libs/ffmpeg/FFmpeg.cpp ---- fs2_open/lib/CMakeLists.txt 2022-03-27 21:03:27.287788070 +0200 -+++ fs2_open/lib/CMakeLists.txt 2022-03-27 21:07:12.849781787 +0200 -@@ -33,8 +33,6 @@ - include(FFmpeg.cmake) - endif() - --add_subdirectory(discord) -- - include(libRocket.cmake) - - add_subdirectory(libpcp) ---- fs2_open/freespace2/freespace.cpp 2021-11-01 18:00:53.000000000 +0100 -+++ fs2_open/freespace2/freespace.cpp 2022-03-27 21:07:50.111780749 +0200 -@@ -83,7 +83,6 @@ - #include "jumpnode/jumpnode.h" - #include "lab/labv2.h" - #include "lab/wmcgui.h" //So that GUI_System can be initialized --#include "libs/discord/discord.h" - #include "libs/ffmpeg/FFmpeg.h" - #include "lighting/lighting.h" - #include "localization/localize.h" -@@ -1987,8 +1987,6 @@ - #ifdef WITH_FFMPEG - libs::ffmpeg::initialize(); - #endif -- -- libs::discord::init(); - } - - nprintf(("General", "Ships.tbl is : %s\n", Game_ships_tbl_valid ? "VALID" : "INVALID!!!!")); diff --git a/games-engines/fs2_open/files/fs2_open-22.0.0-dont-build-lz4.patch b/games-engines/fs2_open/files/fs2_open-22.0.0-dont-build-lz4.patch deleted file mode 100644 index 60dc982a17..0000000000 --- a/games-engines/fs2_open/files/fs2_open-22.0.0-dont-build-lz4.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- fs2_open/lib/CMakeLists.txt 2022-04-01 23:30:46.000000000 +0200 -+++ fs2_open/lib/CMakeLists.txt 2022-04-02 08:20:16.336924470 +0200 -@@ -52,5 +52,3 @@ - add_subdirectory(variant) - - add_subdirectory(any) -- --ADD_SUBDIRECTORY(lz4) -\ No newline at end of file diff --git a/games-engines/fs2_open/files/fs2_open-22.0.0-make-arch-independent.patch b/games-engines/fs2_open/files/fs2_open-22.0.0-make-arch-independent.patch deleted file mode 100644 index c2f5d7f36c..0000000000 --- a/games-engines/fs2_open/files/fs2_open-22.0.0-make-arch-independent.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- fs2_open/cmake/version.cmake 2021-05-22 20:20:18.448441242 +0200 -+++ fs2_open/cmake/version.cmake 2021-05-22 20:21:05.493447003 +0200 -@@ -35,11 +35,6 @@ - SET(FSO_BINARY_SUFFIX "${FSO_VERSION_MAJOR}_${FSO_VERSION_MINOR}_${FSO_VERSION_BUILD}_${FSO_VERSION_REVISION_STR}") - ENDIF() - --IF(IS_64BIT) -- # This is a 64-bit builds -- SET(FSO_BINARY_SUFFIX "${FSO_BINARY_SUFFIX}_x64") --ENDIF() -- - IF (NOT "${FSO_INSTRUCTION_SET}" STREQUAL "") - SET(FSO_BINARY_SUFFIX "${FSO_BINARY_SUFFIX}_${FSO_INSTRUCTION_SET}") - ENDIF() diff --git a/games-engines/fs2_open/files/fs2_open-23.0.0-disable-discord.patch b/games-engines/fs2_open/files/fs2_open-23.0.0-disable-discord.patch new file mode 100644 index 0000000000..6dc01d4a49 --- /dev/null +++ b/games-engines/fs2_open/files/fs2_open-23.0.0-disable-discord.patch @@ -0,0 +1,107 @@ +--- fs2_open/freespace2/freespace.cpp 2023-02-11 13:13:50.000000000 +0100 ++++ fs2_open/freespace2/freespace.cpp 2023-02-11 13:32:41.501644997 +0100 +@@ -84,7 +84,6 @@ + #include "io/timer.h" + #include "jumpnode/jumpnode.h" + #include "lab/labv2.h" +-#include "libs/discord/discord.h" + #include "libs/ffmpeg/FFmpeg.h" + #include "lighting/lighting.h" + #include "lighting/lighting_profiles.h" +@@ -1987,9 +1986,6 @@ + #ifdef WITH_FFMPEG + libs::ffmpeg::initialize(); + #endif +- if (Discord_presence) { +- libs::discord::init(); +- } + } + + mod_table_post_process(); +--- fs2_open/code/source_groups.cmake 2023-02-11 13:13:50.000000000 +0100 ++++ fs2_open/code/source_groups.cmake 2023-02-11 13:53:03.901702823 +0100 +@@ -706,11 +706,6 @@ + libs/antlr/ErrorListener.h + ) + +-add_file_folder("Libs\\\\Discord" +- libs/discord/discord.cpp +- libs/discord/discord.h +-) +- + if (FSO_BUILD_WITH_FFMPEG) + add_file_folder("Libs\\\\FFmpeg" + libs/ffmpeg/FFmpeg.cpp +--- fs2_open/code/mod_table/mod_table.h 2023-02-11 13:13:50.000000000 +0100 ++++ fs2_open/code/mod_table/mod_table.h 2023-02-11 13:57:44.162716081 +0100 +@@ -124,7 +124,6 @@ + } Shadow_disable_overrides; + extern float Thruster_easing; + extern bool Always_use_distant_firepoints; +-extern bool Discord_presence; + extern bool Hotkey_always_hide_hidden_ships; + extern bool Use_weapon_class_sounds_for_hits_to_player; + extern bool SCPUI_loads_hi_res_animations; +--- fs2_open/code/mod_table/mod_table.cpp 2023-02-11 13:13:50.000000000 +0100 ++++ fs2_open/code/mod_table/mod_table.cpp 2023-02-11 13:57:15.745714737 +0100 +@@ -12,7 +12,6 @@ + #include "globalincs/version.h" + #include "graphics/shadows.h" + #include "localization/localize.h" +-#include "libs/discord/discord.h" + #include "mission/missioncampaign.h" + #include "mission/missionload.h" + #include "mission/missionmessage.h" +@@ -128,34 +127,10 @@ + shadow_disable_overrides Shadow_disable_overrides {false, false, false, false}; + float Thruster_easing; + bool Always_use_distant_firepoints; +-bool Discord_presence; + bool Hotkey_always_hide_hidden_ships; + bool Use_weapon_class_sounds_for_hits_to_player; + bool SCPUI_loads_hi_res_animations; + +-static auto DiscordOption = options::OptionBuilder("Other.Discord", "Discord Presence", "Toggle Discord Rich Presence") +- .category("Other") +- .default_val(Discord_presence) +- .level(options::ExpertLevel::Advanced) +- .importance(55) +- .change_listener([](bool val, bool) { +- if(Discord_presence){ +- if (!val) { +- Discord_presence = false; +- libs::discord::shutdown(); +- return true; +- } +- } else { +- if (val) { +- Discord_presence = true; +- libs::discord::init(); +- return true; +- } +- } +- return false; +- }) +- .finish(); +- + void mod_table_set_version_flags(); + + SCP_vector> req_render_ext_pairs = { +@@ -1128,9 +1103,6 @@ + if (optional_string("$Use distant firepoint for all turrets:")){ + stuff_boolean(&Always_use_distant_firepoints); + } +- if (optional_string("$Enable Discord rich presence:")) { +- stuff_boolean(&Discord_presence); +- } + + if (optional_string("$Always hide hidden ships in hotkey list:")) { + stuff_boolean(&Hotkey_always_hide_hidden_ships); +@@ -1285,7 +1257,6 @@ + Lead_indicator_behavior = leadIndicatorBehavior::DEFAULT; + Thruster_easing = 0; + Always_use_distant_firepoints = false; +- Discord_presence = true; + Hotkey_always_hide_hidden_ships = false; + Use_weapon_class_sounds_for_hits_to_player = false; + SCPUI_loads_hi_res_animations = true; diff --git a/games-engines/fs2_open/files/fs2_open-23.0.0-dont-build-lz4.patch b/games-engines/fs2_open/files/fs2_open-23.0.0-dont-build-lz4.patch new file mode 100644 index 0000000000..49350a0dc5 --- /dev/null +++ b/games-engines/fs2_open/files/fs2_open-23.0.0-dont-build-lz4.patch @@ -0,0 +1,9 @@ +--- fs2_open/lib/CMakeLists.txt 2023-02-11 13:13:50.000000000 +0100 ++++ fs2_open/lib/CMakeLists.txt 2023-02-11 13:45:46.251682120 +0100 +@@ -55,6 +55,4 @@ + + add_subdirectory(optional) + +-ADD_SUBDIRECTORY(lz4) +- + ADD_SUBDIRECTORY(imgui) diff --git a/games-engines/fs2_open/files/fs2_open-21.4.1-make-arch-independent.patch b/games-engines/fs2_open/files/fs2_open-23.0.0-make-arch-independent.patch similarity index 100% rename from games-engines/fs2_open/files/fs2_open-21.4.1-make-arch-independent.patch rename to games-engines/fs2_open/files/fs2_open-23.0.0-make-arch-independent.patch diff --git a/games-engines/fs2_open/fs2_open-21.4.1-r2.ebuild b/games-engines/fs2_open/fs2_open-23.0.0.ebuild similarity index 88% rename from games-engines/fs2_open/fs2_open-21.4.1-r2.ebuild rename to games-engines/fs2_open/fs2_open-23.0.0.ebuild index beadddcbb0..8c63d4680d 100644 --- a/games-engines/fs2_open/fs2_open-21.4.1-r2.ebuild +++ b/games-engines/fs2_open/fs2_open-23.0.0.ebuild @@ -24,7 +24,7 @@ SRC_URI=" LICENSE="Unlicense MIT Boost-1.0" SLOT="0" KEYWORDS="~amd64" -IUSE="debug discord" +IUSE="clang debug discord" DEPEND=" app-arch/lz4 @@ -42,12 +42,13 @@ DEPEND=" media-video/ffmpeg " RDEPEND="${DEPEND}" -BDEPEND="" +BDEPEND=" + dev-util/cmake + clang? ( sys-devel/clang:= ) +" PATCHES=( "${FILESDIR}/${P}-dont-build-lz4.patch" - "${FILESDIR}/${P}-dont-override-ldflags.patch" "${FILESDIR}/${P}-make-arch-independent.patch" - "${FILESDIR}/${P}-version-fix.patch" ) CMAKE_BUILD_TYPE=Release @@ -60,6 +61,18 @@ src_unpack() { mv cmake-modules-${HASH_CMAKE_MODULES}/* "${S}/cmake/external/rpavlik-cmake-modules/" || die } +src_configure() { + if use clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + AR=llvm-ar + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + LDFLAGS+=" -fuse-ld=lld" + fi + cmake_src_configure +} + src_prepare() { use discord || eapply "${FILESDIR}/${P}-disable-discord.patch" eapply_user From 593f4b4ece99c48299a3a1b9acd4de63e72d914c Mon Sep 17 00:00:00 2001 From: Jonas Frei Date: Sat, 11 Feb 2023 14:17:42 +0100 Subject: [PATCH 44/63] games-engines/fs2_open: drop 22.0.0 Signed-off-by: Jonas Frei --- games-engines/fs2_open/Manifest | 3 - games-engines/fs2_open/fs2_open-22.0.0.ebuild | 103 ------------------ 2 files changed, 106 deletions(-) delete mode 100644 games-engines/fs2_open/fs2_open-22.0.0.ebuild diff --git a/games-engines/fs2_open/Manifest b/games-engines/fs2_open/Manifest index 2535f772c1..7003d611c5 100644 --- a/games-engines/fs2_open/Manifest +++ b/games-engines/fs2_open/Manifest @@ -1,6 +1,3 @@ -DIST fs2_open-22.0.0-ext_libRocket.tar.gz 2417905 BLAKE2B 0e5ac40b0e811b9213fb84f6f2f0ef38ad7d562ae671e865d96e40615c2d67213905ce153a69192c0b53a3e4f0d1aef077c0769e46d308adf9210c0c9d1fe7c2 SHA512 700e242ecb5207faf729ca7d23ac4f28be819c0ef7a0ba51ca18de1592f1016040cd5e4c1c75a573f91cea69dd43549966ac089804a52c0f1b0cfbaabefc4346 -DIST fs2_open-22.0.0-ext_rpavlik-cmake-modules.tar.gz 267464 BLAKE2B d63fa3867aad5fad7bd5d20845dd8d6a6698d59dc30dc511704f3c74bbe958bb6d36160bae3ef5c01027719c50d18e4d24209ea5811c6a52c5af4d3de2a587e9 SHA512 0bb03e2a1c0cafa80849163455cdb5fc5c7200e51f18f0354c36f251b51156f86a04a9f87cd17e2942d14ae8767d8df756062fbcff9b37f04e8399b2e37d306f -DIST fs2_open-22.0.0.tar.gz 10573800 BLAKE2B b75bd9e44679bf2ad441178b7f8175f4429e321d2feeddf2cf5b4391e51f82c15250c36b73f3750326b1cd3ce71ae319042f57432d48a41b5abab9e30a4a76ba SHA512 e57972348073571947ff88e5a392ae0b4eec9d81cbcfe3d0ff3c2b844dd676cb33f727ddb32a0544e9cd3f1ae9b614429ea137b8921ef625fad27a53f1875081 DIST fs2_open-22.2.0-ext_libRocket.tar.gz 2417905 BLAKE2B 0e5ac40b0e811b9213fb84f6f2f0ef38ad7d562ae671e865d96e40615c2d67213905ce153a69192c0b53a3e4f0d1aef077c0769e46d308adf9210c0c9d1fe7c2 SHA512 700e242ecb5207faf729ca7d23ac4f28be819c0ef7a0ba51ca18de1592f1016040cd5e4c1c75a573f91cea69dd43549966ac089804a52c0f1b0cfbaabefc4346 DIST fs2_open-22.2.0-ext_rpavlik-cmake-modules.tar.gz 267464 BLAKE2B d63fa3867aad5fad7bd5d20845dd8d6a6698d59dc30dc511704f3c74bbe958bb6d36160bae3ef5c01027719c50d18e4d24209ea5811c6a52c5af4d3de2a587e9 SHA512 0bb03e2a1c0cafa80849163455cdb5fc5c7200e51f18f0354c36f251b51156f86a04a9f87cd17e2942d14ae8767d8df756062fbcff9b37f04e8399b2e37d306f DIST fs2_open-22.2.0.tar.gz 10690003 BLAKE2B 9d751407ee06877e27e18a9295370ed2c97a48ac65c65757ea57ee1f1d7ba36e07cddb9812a62a763eefb842d5df71151243a81e97aa664a8c3123b7b7913255 SHA512 e72ad40f8f52430549f76330f8b34255ae68fff53ced76f56b04ef19d7ce510026c3bb38fcebdb6f3bfaf7db59ca89df5686e8480e883e01b6408d21cb08cc77 diff --git a/games-engines/fs2_open/fs2_open-22.0.0.ebuild b/games-engines/fs2_open/fs2_open-22.0.0.ebuild deleted file mode 100644 index 8c63d4680d..0000000000 --- a/games-engines/fs2_open/fs2_open-22.0.0.ebuild +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="FreeSpace2 Source Code Project game engine" -HOMEPAGE="https://github.com/scp-fs2open/fs2open.github.com/" - -# Replace "." with "_" in version -_PV=${PV//./_} - -# Current hashes of external repositories: -HASH_LIBROCKET="ecd648a43aff8a9f3daf064d75ca5725237d5b38" -HASH_CMAKE_MODULES="7cef9577d6fc35057ea57f46b4986a8a28aeff50" - -SRC_URI=" - https://github.com/scp-fs2open/fs2open.github.com/archive/refs/tags/release_${_PV}.tar.gz -> ${P}.tar.gz - https://github.com/asarium/libRocket/archive/${HASH_LIBROCKET}.tar.gz -> ${P}-ext_libRocket.tar.gz - https://github.com/asarium/cmake-modules/archive/${HASH_CMAKE_MODULES}.tar.gz -> ${P}-ext_rpavlik-cmake-modules.tar.gz -" - -LICENSE="Unlicense MIT Boost-1.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="clang debug discord" - -DEPEND=" - app-arch/lz4 - Date: Sat, 11 Feb 2023 22:01:15 +0200 Subject: [PATCH 45/63] net-im/discord-canary-bin: version bump to 0.0.148 Signed-off-by: Niko Huuskonen --- net-im/discord-canary-bin/Manifest | 2 +- ...ary-bin-0.0.147.ebuild => discord-canary-bin-0.0.148.ebuild} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename net-im/discord-canary-bin/{discord-canary-bin-0.0.147.ebuild => discord-canary-bin-0.0.148.ebuild} (100%) diff --git a/net-im/discord-canary-bin/Manifest b/net-im/discord-canary-bin/Manifest index 134c02ff4c..ffe15f4a9d 100644 --- a/net-im/discord-canary-bin/Manifest +++ b/net-im/discord-canary-bin/Manifest @@ -1 +1 @@ -DIST discord-canary-0.0.147.deb 81829084 BLAKE2B c6cdc890cd55eb236de8ac4d0391d0e1ee5e2564008aa696588621ceeb5e2161245922fbf660963f9788edf6e56d46f7635bc19822e0863190a04301c632c307 SHA512 cc21dad2001b6af40fa756749b7622ce9af6164073f7b68e7ae76d0c6fbca331ce6b4788a0e2bb8e5cfa033cefe7e4f43859fea66eada6fe5785be75e18eddb1 +DIST discord-canary-0.0.148.deb 92547910 BLAKE2B e217d7bc3fd2f255fb79367cecebfb3f8663aec92602d1d5b300352c42a7b37c788c841a161d6eb69dfb9669e5f724b7fa352bd78116ec2bd1421f5736f23f0e SHA512 48f8eb43e0e73b2a27caa37925e3d4a64d5d695a5d96b9028be44a8353edf56e3584668a55c3e8378a0d7c62edd97587a80a78ff3669281bd86098d41b3d60cf diff --git a/net-im/discord-canary-bin/discord-canary-bin-0.0.147.ebuild b/net-im/discord-canary-bin/discord-canary-bin-0.0.148.ebuild similarity index 100% rename from net-im/discord-canary-bin/discord-canary-bin-0.0.147.ebuild rename to net-im/discord-canary-bin/discord-canary-bin-0.0.148.ebuild From a2e9a1c7a617f442d6181785e2000e4470345cf2 Mon Sep 17 00:00:00 2001 From: Sergey Torokhov Date: Sun, 12 Feb 2023 18:29:43 +0300 Subject: [PATCH 46/63] dev-vcs/gitqlient-gitserver-plugin: new package v0.2.0 Signed-off-by: Sergey Torokhov --- dev-vcs/gitqlient-gitserver-plugin/Manifest | 2 + .../gitqlient-gitserver-plugin-0.2.0.ebuild | 55 +++++++++++++++++++ .../gitqlient-gitserver-plugin/metadata.xml | 11 ++++ 3 files changed, 68 insertions(+) create mode 100644 dev-vcs/gitqlient-gitserver-plugin/Manifest create mode 100644 dev-vcs/gitqlient-gitserver-plugin/gitqlient-gitserver-plugin-0.2.0.ebuild create mode 100644 dev-vcs/gitqlient-gitserver-plugin/metadata.xml diff --git a/dev-vcs/gitqlient-gitserver-plugin/Manifest b/dev-vcs/gitqlient-gitserver-plugin/Manifest new file mode 100644 index 0000000000..403902245b --- /dev/null +++ b/dev-vcs/gitqlient-gitserver-plugin/Manifest @@ -0,0 +1,2 @@ +DIST gitqlient-1.6.1.tar.gz 4971880 BLAKE2B b793dd406d1dff7aa193916a08dc5c10159eb54f79d2d9930b672aed5ee5d98fe3d6afb1869032bdeee1790b078a5fefa8064506353d56e870ea95bb24ebcc26 SHA512 e115c9fca6c8fe17b32d326a7f649d35ea55fd1f4c1df7c30962e9f07382d246cd23b8dbdbf6759620d1ba7ba9c48c7a391b2e0a730a58bba9f1ba6425a2da9e +DIST gitqlient-GitServerPlugin-0.2.0.tar.gz 78411 BLAKE2B 4220f0d53abccac79a21cb5cb2e1cad608fbfc62afe797ed446594a642010f6476c519c3ba807db4cbc8f51150420186933cfeb18b27b98ddfd18882213e04e2 SHA512 d01c8fd3132d03f1f819ec7c81f920f6e37146f43182c322d6048ba008ab83dac71b43510445fe9ec5612555e1b18c2afb4a0193dd1a3dabb3b80ae35e9e9381 diff --git a/dev-vcs/gitqlient-gitserver-plugin/gitqlient-gitserver-plugin-0.2.0.ebuild b/dev-vcs/gitqlient-gitserver-plugin/gitqlient-gitserver-plugin-0.2.0.ebuild new file mode 100644 index 0000000000..c033ab7b76 --- /dev/null +++ b/dev-vcs/gitqlient-gitserver-plugin/gitqlient-gitserver-plugin-0.2.0.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qmake-utils + +MY_PN="GitServerPlugin" +GQ="GitQlient" +GQ_PN="gitqlient" +GQ_PV="1.6.1" + +DESCRIPTION="GitQlient GitServer plugin" +HOMEPAGE="https://github.com/francescmm/GitServerPlugin" +SRC_URI=" + https://github.com/francescmm/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${GQ_PN}-${MY_PN}-${PV}.tar.gz + https://github.com/francescmm/${GQ}/releases/download/v${GQ_PV}/${GQ_PN}_${GQ_PV}.tar.gz -> ${GQ_PN}-${GQ_PV}.tar.gz +" + +KEYWORDS="~amd64 ~x86" +LICENSE="LGPL-2.1" +SLOT="0" + +S="${WORKDIR}/${MY_PN}-${PV}" + +PDEPEND=">=dev-vcs/gitqlient-1.6.1" +RDEPEND=" + dev-qt/qtnetwork:5 + dev-qt/qtwidgets:5 + dev-qt/qtwebengine:5[widgets] +" +DEPEND="${DEPEND}" + +# No need SONAME for runtime plugin +QA_SONAME="usr/lib.*/lib${MY_PN}.so" + +src_prepare() { + default + + mv -T ../"${GQ_PN}_${GQ_PV}"/src/AuxiliarCustomWidgets src/AuxiliarCustomWidgets || die + mv -T ../"${GQ_PN}_${GQ_PV}"/src/QLogger src/QLogger || die + mv -T ../"${GQ_PN}_${GQ_PV}"/src/git src/git || die +} + +src_configure() { + eqmake5 "${MY_PN}".pro +} + +src_install() { + dolib.so lib/lib"${MY_PN}".so +} + +pkg_postinst() { + elog "To use ${MY_PN} set PluginFolder in GitQlient settings Plugin tab to /usr/$(get_libdir)" +} diff --git a/dev-vcs/gitqlient-gitserver-plugin/metadata.xml b/dev-vcs/gitqlient-gitserver-plugin/metadata.xml new file mode 100644 index 0000000000..91604cefd9 --- /dev/null +++ b/dev-vcs/gitqlient-gitserver-plugin/metadata.xml @@ -0,0 +1,11 @@ + + + + + torokhov-s-a@yandex.ru + Sergey Torokhov + + + francescmm/GitServerPlugin + + From 055b6764385ce1209e641f5b6d4521e5779138a1 Mon Sep 17 00:00:00 2001 From: Sergey Torokhov Date: Sun, 12 Feb 2023 18:32:33 +0300 Subject: [PATCH 47/63] dev-vcs/gitqlient-jenkins-plugin: new package v0.2.0 Signed-off-by: Sergey Torokhov --- dev-vcs/gitqlient-jenkins-plugin/Manifest | 2 + .../gitqlient-jenkins-plugin-0.2.0.ebuild | 55 +++++++++++++++++++ dev-vcs/gitqlient-jenkins-plugin/metadata.xml | 11 ++++ 3 files changed, 68 insertions(+) create mode 100644 dev-vcs/gitqlient-jenkins-plugin/Manifest create mode 100644 dev-vcs/gitqlient-jenkins-plugin/gitqlient-jenkins-plugin-0.2.0.ebuild create mode 100644 dev-vcs/gitqlient-jenkins-plugin/metadata.xml diff --git a/dev-vcs/gitqlient-jenkins-plugin/Manifest b/dev-vcs/gitqlient-jenkins-plugin/Manifest new file mode 100644 index 0000000000..ff31e25c39 --- /dev/null +++ b/dev-vcs/gitqlient-jenkins-plugin/Manifest @@ -0,0 +1,2 @@ +DIST gitqlient-1.6.1.tar.gz 4971880 BLAKE2B b793dd406d1dff7aa193916a08dc5c10159eb54f79d2d9930b672aed5ee5d98fe3d6afb1869032bdeee1790b078a5fefa8064506353d56e870ea95bb24ebcc26 SHA512 e115c9fca6c8fe17b32d326a7f649d35ea55fd1f4c1df7c30962e9f07382d246cd23b8dbdbf6759620d1ba7ba9c48c7a391b2e0a730a58bba9f1ba6425a2da9e +DIST gitqlient-JenkinsPlugin-0.2.0.tar.gz 29474 BLAKE2B f8dfb020f68ec474b0d15b62a5566316f21cd29f4878170bcf7940e3df596a970535d5db3c3f05f12d18fdff5f5b6f99db242c807e8554754f08f14ad31997a0 SHA512 0c3089b80116974a687821940d7e78c6b663acf50cb060cff824d3e1e1838773eca8ed671778d2cf016d0b3e5fff8daab958f765af4eacc04dea66864966ae8e diff --git a/dev-vcs/gitqlient-jenkins-plugin/gitqlient-jenkins-plugin-0.2.0.ebuild b/dev-vcs/gitqlient-jenkins-plugin/gitqlient-jenkins-plugin-0.2.0.ebuild new file mode 100644 index 0000000000..8ffd752420 --- /dev/null +++ b/dev-vcs/gitqlient-jenkins-plugin/gitqlient-jenkins-plugin-0.2.0.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qmake-utils + +MY_PN="JenkinsPlugin" +GQ="GitQlient" +GQ_PN="gitqlient" +GQ_PV="1.6.1" + +DESCRIPTION="GitQlient Jenkins plugin" +HOMEPAGE="https://github.com/francescmm/JenkinsPlugin" +SRC_URI=" + https://github.com/francescmm/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${GQ_PN}-${MY_PN}-${PV}.tar.gz + https://github.com/francescmm/${GQ}/releases/download/v${GQ_PV}/${GQ_PN}_${GQ_PV}.tar.gz -> ${GQ_PN}-${GQ_PV}.tar.gz +" + +KEYWORDS="~amd64 ~x86" +LICENSE="LGPL-2.1" +SLOT="0" + +S="${WORKDIR}/${MY_PN}-${PV}" + +PDEPEND=">=dev-vcs/gitqlient-1.6.1" +RDEPEND=" + dev-qt/qtnetwork:5 + dev-qt/qtwidgets:5 + dev-qt/qtwebengine:5[widgets] +" +DEPEND="${DEPEND}" + +# No need SONAME for runtime plugin +QA_SONAME="usr/lib.*/lib${MY_PN}.so" + +src_prepare() { + default + + mv -T ../"${GQ_PN}_${GQ_PV}"/src/AuxiliarCustomWidgets src/AuxiliarCustomWidgets || die + mv -T ../"${GQ_PN}_${GQ_PV}"/src/QLogger src/QLogger || die + mv -T ../"${GQ_PN}_${GQ_PV}"/src/QPinnableTabWidget src/QPinnableTabWidget || die +} + +src_configure() { + eqmake5 "${MY_PN}".pro +} + +src_install() { + dolib.so lib/lib"${MY_PN}".so +} + +pkg_postinst() { + elog "To use ${MY_PN} set PluginFolder in GitQlient settings Plugin tab to /usr/$(get_libdir)" +} diff --git a/dev-vcs/gitqlient-jenkins-plugin/metadata.xml b/dev-vcs/gitqlient-jenkins-plugin/metadata.xml new file mode 100644 index 0000000000..6df263613a --- /dev/null +++ b/dev-vcs/gitqlient-jenkins-plugin/metadata.xml @@ -0,0 +1,11 @@ + + + + + torokhov-s-a@yandex.ru + Sergey Torokhov + + + francescmm/JenkinsPlugin + + From e3eb31ca99ad7d39e779536e3ac3dcfd6184a642 Mon Sep 17 00:00:00 2001 From: Sergey Torokhov Date: Sun, 12 Feb 2023 20:01:44 +0300 Subject: [PATCH 48/63] dev-vcs/gitqlient: update pkg_postinst messages Signed-off-by: Sergey Torokhov --- dev-vcs/gitqlient/gitqlient-1.6.1.ebuild | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dev-vcs/gitqlient/gitqlient-1.6.1.ebuild b/dev-vcs/gitqlient/gitqlient-1.6.1.ebuild index 2e48887c52..12d53c9ff1 100644 --- a/dev-vcs/gitqlient/gitqlient-1.6.1.ebuild +++ b/dev-vcs/gitqlient/gitqlient-1.6.1.ebuild @@ -48,6 +48,8 @@ src_install() { pkg_postinst() { optfeature "Terminal tab plugin support" x11-libs/qtermwidget - optfeature "Jenkins and/or GitServer plugins support" dev-qt/qtwebchannel:5 dev-qt/qtwebengine:5[widgets] + optfeature "GitServer plugin support" dev-vcs/gitqlient-gitserver-plugin + optfeature "Jenkins plugin support" dev-vcs/gitqlient-jenkins-plugin + elog "To use plugins set PluginFolder in GitQlient settings Plugin tab to /usr/$(get_libdir)" xdg_pkg_postinst } From 4e0b65b11462bd55455a2335983f18e14e94891d Mon Sep 17 00:00:00 2001 From: Sergey Torokhov Date: Sun, 12 Feb 2023 20:07:05 +0300 Subject: [PATCH 49/63] dev-vcs/gitqlient: update 9999.ebuild Signed-off-by: Sergey Torokhov --- dev-vcs/gitqlient/gitqlient-9999.ebuild | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/dev-vcs/gitqlient/gitqlient-9999.ebuild b/dev-vcs/gitqlient/gitqlient-9999.ebuild index 4d97268693..7e5ab5757f 100644 --- a/dev-vcs/gitqlient/gitqlient-9999.ebuild +++ b/dev-vcs/gitqlient/gitqlient-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -25,12 +25,6 @@ RDEPEND=" dev-vcs/git " -src_prepare() { - default - sed -i -e "/QMAKE_CXXFLAGS/s:-Werror::" "${MY_PN}".pro || die - sed -i -e "s:Office:Development:" "${S}/src/resources/${PN}.desktop" || die -} - src_configure() { eqmake5 PREFIX=/usr "${MY_PN}".pro } @@ -40,6 +34,9 @@ src_install() { } pkg_postinst() { - optfeature "Jenkins and/or GitServer plugins support" dev-qt/qtwebchannel:5 dev-qt/qtwebengine:5[widgets] + optfeature "Terminal tab plugin support" x11-libs/qtermwidget + optfeature "GitServer plugin support" dev-vcs/gitqlient-gitserver-plugin + optfeature "Jenkins plugin support" dev-vcs/gitqlient-jenkins-plugin + elog "To use plugins set PluginFolder in GitQlient settings Plugin tab to /usr/$(get_libdir)" xdg_pkg_postinst } From 1f20f96c5592f63b083c5643e98e8630371cfa2b Mon Sep 17 00:00:00 2001 From: Sergey Torokhov Date: Sun, 12 Feb 2023 20:12:15 +0300 Subject: [PATCH 50/63] dev-vcs/gitqlient: 1.6.1-r1 bump, fix tabs style For KDE Plasma some QWidgets aren't filled with proper bg colour resulting in grey fg fonts over white bg (for dark theme). Signed-off-by: Sergey Torokhov --- .../gitqlient-1.6.1_fix_tabs_style.patch | 102 ++++++++++++++++++ dev-vcs/gitqlient/gitqlient-1.6.1-r1.ebuild | 57 ++++++++++ 2 files changed, 159 insertions(+) create mode 100644 dev-vcs/gitqlient/files/gitqlient-1.6.1_fix_tabs_style.patch create mode 100644 dev-vcs/gitqlient/gitqlient-1.6.1-r1.ebuild diff --git a/dev-vcs/gitqlient/files/gitqlient-1.6.1_fix_tabs_style.patch b/dev-vcs/gitqlient/files/gitqlient-1.6.1_fix_tabs_style.patch new file mode 100644 index 0000000000..34af553bec --- /dev/null +++ b/dev-vcs/gitqlient/files/gitqlient-1.6.1_fix_tabs_style.patch @@ -0,0 +1,102 @@ +diff -Naur a/src/aux_widgets/InitialRepoConfig.ui b/src/aux_widgets/InitialRepoConfig.ui +--- a/src/aux_widgets/InitialRepoConfig.ui ++++ b/src/aux_widgets/InitialRepoConfig.ui +@@ -7,7 +7,7 @@ + 0 + 0 + 600 +- 400 ++ 500 + + + +@@ -184,6 +184,12 @@ + + Credentials configuration + ++ ++ false ++ ++ ++ background: transparent; ++ + + + 0 +diff -Naur a/src/big_widgets/ConfigWidget.ui b/src/big_widgets/ConfigWidget.ui +--- a/src/big_widgets/ConfigWidget.ui ++++ b/src/big_widgets/ConfigWidget.ui +@@ -678,7 +678,7 @@ + 10 + + +- ++ + + Store credentials using GitQlient (Current session or in Storage) + +@@ -1018,6 +1018,12 @@ + + Installed plugins + ++ ++ false ++ ++ ++ background: transparent; ++ + + + 10 +@@ -1129,6 +1135,12 @@ + + Official GitQlient plugins + ++ ++ false ++ ++ ++ background: transparent; ++ + + + 10 +@@ -1213,6 +1225,12 @@ + + Branches panel + ++ ++ false ++ ++ ++ background: transparent; ++ + + + +@@ -1250,6 +1268,12 @@ + + GitQlient repo operations + ++ ++ false ++ ++ ++ background: transparent; ++ + + + +@@ -1315,6 +1339,12 @@ + + GitQlient general + ++ ++ false ++ ++ ++ background: transparent; ++ + + + diff --git a/dev-vcs/gitqlient/gitqlient-1.6.1-r1.ebuild b/dev-vcs/gitqlient/gitqlient-1.6.1-r1.ebuild new file mode 100644 index 0000000000..64cdfd1bfd --- /dev/null +++ b/dev-vcs/gitqlient/gitqlient-1.6.1-r1.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit optfeature qmake-utils xdg + +MY_PN="GitQlient" + +DESCRIPTION="Multi-platform Git client written with Qt" +HOMEPAGE="https://github.com/francescmm/GitQlient" + +SRC_URI="https://github.com/francescmm/${MY_PN}/releases/download/v${PV}/${PN}_${PV}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64 ~x86" +S="${WORKDIR}/${PN}_${PV}" + +LICENSE="LGPL-2.1" +SLOT="0" + +DEPEND=" + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtwidgets:5 +" +RDEPEND=" + ${DEPEND} + dev-vcs/git +" + +PATCHES=( "$FILESDIR/${P}_fix_tabs_style.patch" ) + +src_prepare() { + default + + # Drop 'fatal' warning on version detection via git command: + sed -i -e "/^GQ_SHA/d" \ + -e "/VERSION =/s| \$\$system(git rev-parse --short HEAD)||" "${MY_PN}".pro || die + + sed -i -e "s/Office/Development/" "${S}/src/resources/${PN}.desktop" || die +} + +src_configure() { + eqmake5 PREFIX=/usr "${MY_PN}".pro +} + +src_install() { + emake INSTALL_ROOT="${D}" install +} + +pkg_postinst() { + optfeature "Terminal tab plugin support" x11-libs/qtermwidget + optfeature "GitServer plugin support" dev-vcs/gitqlient-gitserver-plugin + optfeature "Jenkins plugin support" dev-vcs/gitqlient-jenkins-plugin + elog "To use plugins set PluginFolder in GitQlient settings Plugin tab to /usr/$(get_libdir)" + xdg_pkg_postinst +} From 45227fe0d65a9fe946688daaa32c30935065ff7c Mon Sep 17 00:00:00 2001 From: Kamal Abdellatif Date: Sun, 12 Feb 2023 21:16:38 +0000 Subject: [PATCH 51/63] dev-cpp/xtl: new package, add 0.7.5 Signed-off-by: Kamal Abdellatif --- dev-cpp/xtl/Manifest | 1 + dev-cpp/xtl/metadata.xml | 12 ++++++++ dev-cpp/xtl/xtl-0.7.5.ebuild | 57 ++++++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 dev-cpp/xtl/Manifest create mode 100644 dev-cpp/xtl/metadata.xml create mode 100644 dev-cpp/xtl/xtl-0.7.5.ebuild diff --git a/dev-cpp/xtl/Manifest b/dev-cpp/xtl/Manifest new file mode 100644 index 0000000000..8820db2e31 --- /dev/null +++ b/dev-cpp/xtl/Manifest @@ -0,0 +1 @@ +DIST xtl-0.7.5.tar.gz 160548 BLAKE2B 61d8c8c8e69722e2d29bd70991840650b22f2f440e2ee8100786869e4410ace8a5063cc0101361aedca963607cf046bb46e923fc096e25d731affdf2876ef4fa SHA512 fb447334f68f255d7d28c9202eee2cec70d007c1031f3756a6acd0cc019c0d95ed1d12ec63f2e9fb3df184f9ec305e6a3c808bb88c1e3eb922916ad059d2e856 diff --git a/dev-cpp/xtl/metadata.xml b/dev-cpp/xtl/metadata.xml new file mode 100644 index 0000000000..db0f046c84 --- /dev/null +++ b/dev-cpp/xtl/metadata.xml @@ -0,0 +1,12 @@ + + + + + gentoo.kamal@tgf.pw + Kamal Abdellatif + + + xtensor-stack/xtl + https://xtl.readthedocs.io/en/latest/ + + diff --git a/dev-cpp/xtl/xtl-0.7.5.ebuild b/dev-cpp/xtl/xtl-0.7.5.ebuild new file mode 100644 index 0000000000..b1a9cf5daf --- /dev/null +++ b/dev-cpp/xtl/xtl-0.7.5.ebuild @@ -0,0 +1,57 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit cmake python-any-r1 + +DESCRIPTION="Algorithms and containers used by the xtensor stack and the xeus stack" +HOMEPAGE="https://github.com/xtensor-stack/xtl" +SRC_URI="https://codeload.github.com/xtensor-stack/${PN}/tar.gz/refs/tags/${PV} -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="doc test" + +BDEPEND=" + doc? ( + app-doc/doxygen + $(python_gen_any_dep ' + dev-python/breathe[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + ') + ) + test? ( dev-cpp/doctest ) +" + +RESTRICT="!test? ( test )" + +python_check_deps() { + python_has_version \ + "dev-python/breathe[${PYTHON_USEDEP}]" \ + "dev-python/sphinx[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use doc && python-any-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( -DBUILD_TESTS=$(usex test) ) + + cmake_src_configure +} + +src_compile() { + use test && cmake_src_compile xtest + + if use doc; then + cd "${WORKDIR}/${P}/docs" || die + emake html BUILDDIR="${BUILD_DIR}" + HTML_DOCS=( "${BUILD_DIR}/html/." ) + fi +} From f7c8740629193fe7371666f1dffd84c4af4acf75 Mon Sep 17 00:00:00 2001 From: Kamal Abdellatif Date: Sun, 12 Feb 2023 21:17:23 +0000 Subject: [PATCH 52/63] dev-cpp/xsimd: new package, add 10.0.0 Signed-off-by: Kamal Abdellatif --- dev-cpp/xsimd/Manifest | 1 + dev-cpp/xsimd/metadata.xml | 12 +++++++ dev-cpp/xsimd/xsimd-10.0.0.ebuild | 57 +++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 dev-cpp/xsimd/Manifest create mode 100644 dev-cpp/xsimd/metadata.xml create mode 100644 dev-cpp/xsimd/xsimd-10.0.0.ebuild diff --git a/dev-cpp/xsimd/Manifest b/dev-cpp/xsimd/Manifest new file mode 100644 index 0000000000..1411b4acf3 --- /dev/null +++ b/dev-cpp/xsimd/Manifest @@ -0,0 +1 @@ +DIST xsimd-10.0.0.tar.gz 212082 BLAKE2B 2a3c6dd711f9e7ffd32ce3fd9a6056a56768a0f5b6ff412d2c5cd5f82682cac87ed0a68109a449ab6337f89a4719e9ab25f94060d3f675783ce00c79e3378512 SHA512 bd7a363bbebc9196954c8c87271f14f05ca177569fcf080dac91be06ad2801c43fccbb385afd700b80d58c83d77f26ba199a7105672e4a1e55c517d15dd6e8e3 diff --git a/dev-cpp/xsimd/metadata.xml b/dev-cpp/xsimd/metadata.xml new file mode 100644 index 0000000000..9e861cd9e6 --- /dev/null +++ b/dev-cpp/xsimd/metadata.xml @@ -0,0 +1,12 @@ + + + + + gentoo.kamal@tgf.pw + Kamal Abdellatif + + + xtensor-stack/xsimd + https://xsimd.readthedocs.io/en/latest/ + + diff --git a/dev-cpp/xsimd/xsimd-10.0.0.ebuild b/dev-cpp/xsimd/xsimd-10.0.0.ebuild new file mode 100644 index 0000000000..0398f664b8 --- /dev/null +++ b/dev-cpp/xsimd/xsimd-10.0.0.ebuild @@ -0,0 +1,57 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit cmake python-any-r1 + +DESCRIPTION="C++ wrappers for SIMD intrinsics" +HOMEPAGE="https://github.com/xtensor-stack/xsimd" +SRC_URI="https://codeload.github.com/xtensor-stack/${PN}/tar.gz/refs/tags/${PV} -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="doc test" + +BDEPEND=" + doc? ( + app-doc/doxygen + $(python_gen_any_dep ' + dev-python/breathe[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + ') + ) + test? ( dev-cpp/doctest ) +" + +RESTRICT="!test? ( test )" + +python_check_deps() { + python_has_version \ + "dev-python/breathe[${PYTHON_USEDEP}]" \ + "dev-python/sphinx[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use doc && python-any-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( -DBUILD_TESTS=$(usex test) ) + + cmake_src_configure +} + +src_compile() { + use test && cmake_src_compile xtest + + if use doc; then + cd "${WORKDIR}/${P}/docs" || die + emake html BUILDDIR="${BUILD_DIR}" + HTML_DOCS=( "${BUILD_DIR}/html/." ) + fi +} From f093eda1304c78b5977ee5a407bd1f51b813aa71 Mon Sep 17 00:00:00 2001 From: Kamal Abdellatif Date: Sun, 12 Feb 2023 21:18:08 +0000 Subject: [PATCH 53/63] dev-cpp/xtensor: new package, add 0.24.4 Signed-off-by: Kamal Abdellatif --- dev-cpp/xtensor/Manifest | 1 + dev-cpp/xtensor/metadata.xml | 17 +++++ dev-cpp/xtensor/xtensor-0.24.4.ebuild | 98 +++++++++++++++++++++++++++ 3 files changed, 116 insertions(+) create mode 100644 dev-cpp/xtensor/Manifest create mode 100644 dev-cpp/xtensor/metadata.xml create mode 100644 dev-cpp/xtensor/xtensor-0.24.4.ebuild diff --git a/dev-cpp/xtensor/Manifest b/dev-cpp/xtensor/Manifest new file mode 100644 index 0000000000..f32665894a --- /dev/null +++ b/dev-cpp/xtensor/Manifest @@ -0,0 +1 @@ +DIST xtensor-0.24.4.tar.gz 1203049 BLAKE2B 512ab8b2e23b295e36462b63d796d037a4300b184e5932390e8c85a98e2f96639794622817bbdb73a24925c21d210bb39c96ecbd0f3d569a05eb8c5458b805c8 SHA512 e245571553592d5d0e98af5b645bc4526123764b0507ab6fb9ade690f62eae1e2850d8a44b0550ff95276b968c287bf7d6cab9262af5f28bcf7345b6d317d16a diff --git a/dev-cpp/xtensor/metadata.xml b/dev-cpp/xtensor/metadata.xml new file mode 100644 index 0000000000..547112e582 --- /dev/null +++ b/dev-cpp/xtensor/metadata.xml @@ -0,0 +1,17 @@ + + + + + gentoo.kamal@tgf.pw + Kamal Abdellatif + + + xtensor-stack/xtensor + https://xtensor.readthedocs.io/en/latest/ + + + Enable parallel assignment loop using OpenMP + Enable parallel assignment loop using dev-cpp/tbb + Enable SIMD accelaration using dev-cpp/xsimd + + diff --git a/dev-cpp/xtensor/xtensor-0.24.4.ebuild b/dev-cpp/xtensor/xtensor-0.24.4.ebuild new file mode 100644 index 0000000000..141d6b4c08 --- /dev/null +++ b/dev-cpp/xtensor/xtensor-0.24.4.ebuild @@ -0,0 +1,98 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# required because of manuall install in src_install +CMAKE_MAKEFILE_GENERATOR="emake" + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit cmake python-any-r1 optfeature toolchain-funcs + +DESCRIPTION="header-only C++ library for numerical analysis with multi-dimensional arrays" +HOMEPAGE="https://github.com/xtensor-stack/xtensor" +SRC_URI="https://codeload.github.com/xtensor-stack/${PN}/tar.gz/refs/tags/${PV} -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="doc openmp tbb test xsimd" + +DEPEND=" + dev-cpp/xtl + tbb? ( dev-cpp/tbb ) + xsimd? ( dev-cpp/xsimd ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + doc? ( + app-doc/doxygen + $(python_gen_any_dep ' + dev-python/breathe[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}] + ') + ) + test? ( dev-cpp/doctest ) +" + +RESTRICT="!test? ( test )" +REQUIRED_USE="?? ( tbb openmp )" + +python_check_deps() { + python_has_version \ + "dev-python/breathe[${PYTHON_USEDEP}]" \ + "dev-python/sphinx[${PYTHON_USEDEP}]" \ + "dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + use openmp && tc-check-openmp +} + +pkg_setup() { + use openmp && tc-check-openmp + use doc && python-any-r1_pkg_setup +} + +src_prepare() { + # Skipping test due to https://github.com/xtensor-stack/xtensor/issues/2653 + sed -i -e '/test_xoptional\.cpp/d' test/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DBUILD_TESTS=$(usex test) + -DXTENSOR_USE_OPENMP=$(usex openmp) + -DXTENSOR_USE_TBB=$(usex tbb) + -DXTENSOR_USE_XSIMD=$(usex xsimd) + ) + + cmake_src_configure +} + +src_compile() { + use test && cmake_src_compile xtest + + if use doc; then + cd "${WORKDIR}/${P}/docs" || die + emake html BUILDDIR="${BUILD_DIR}" + HTML_DOCS=( "${BUILD_DIR}/html/." ) + fi +} + +src_install() { + # default install starts compiling more tests + # that do not affect the header-only install image + DESTDIR="${D}" emake -C "${BUILD_DIR}" install/fast "$@" + + einstalldocs +} + +pkg_postinst() { + optfeature "JSON support" dev-cpp/nlohmann_json +} From 9058588295c3f785b3860112c7cc67a7bcb386c1 Mon Sep 17 00:00:00 2001 From: Mark Harmstone Date: Sun, 12 Feb 2023 23:34:39 +0000 Subject: [PATCH 54/63] sys-fs/ntfs2btrfs: new package, add 20220812 Signed-off-by: Mark Harmstone --- sys-fs/ntfs2btrfs/Manifest | 1 + sys-fs/ntfs2btrfs/metadata.xml | 11 +++++ sys-fs/ntfs2btrfs/ntfs2btrfs-20220812.ebuild | 42 ++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 sys-fs/ntfs2btrfs/Manifest create mode 100644 sys-fs/ntfs2btrfs/metadata.xml create mode 100644 sys-fs/ntfs2btrfs/ntfs2btrfs-20220812.ebuild diff --git a/sys-fs/ntfs2btrfs/Manifest b/sys-fs/ntfs2btrfs/Manifest new file mode 100644 index 0000000000..e141b6d943 --- /dev/null +++ b/sys-fs/ntfs2btrfs/Manifest @@ -0,0 +1 @@ +DIST ntfs2btrfs-20220812.tar.gz 98059 BLAKE2B 630992ee5f629cd9a81f7277d48159430ec1ccfcf004e6f6c72ae6bbb96d4aefce79ffd78c900e373c4d6460210db94b223888e5825f1c9280659a8da94c5bce SHA512 3d4ebf0c4b8f5d3e2dd669f74c3600f85baf45fc6c179de1b821fb84c761517d65c0d9e3e9d0c556e0123fde30334c2063bf7114e59b6836b066c31a187842cf diff --git a/sys-fs/ntfs2btrfs/metadata.xml b/sys-fs/ntfs2btrfs/metadata.xml new file mode 100644 index 0000000000..4c634c3fb4 --- /dev/null +++ b/sys-fs/ntfs2btrfs/metadata.xml @@ -0,0 +1,11 @@ + + + + + mark@harmstone.com + Mark Harmstone + + + maharmstone/ntfs2btrfs + + diff --git a/sys-fs/ntfs2btrfs/ntfs2btrfs-20220812.ebuild b/sys-fs/ntfs2btrfs/ntfs2btrfs-20220812.ebuild new file mode 100644 index 0000000000..f2b3e08fbb --- /dev/null +++ b/sys-fs/ntfs2btrfs/ntfs2btrfs-20220812.ebuild @@ -0,0 +1,42 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Conversion tool from NTFS to Btrfs" +HOMEPAGE="https://github.com/maharmstone/ntfs2btrfs" + +if [[ ${PV} = *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/maharmstone/ntfs2btrfs.git" +else + SRC_URI="https://codeload.github.com/maharmstone/ntfs2btrfs/tar.gz/refs/tags/${PV} -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="+zlib +lzo +zstd" + +DEPEND="dev-libs/libfmt + zlib? ( sys-libs/zlib ) + lzo? ( dev-libs/lzo ) + zstd? ( app-arch/zstd )" +RDEPEND="${DEPEND}" +BDEPEND="" + +src_prepare() { + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DWITH_ZLIB=$(usex zlib) + -DWITH_LZO=$(usex lzo) + -DWITH_ZSTD=$(usex zstd) + ) + + cmake_src_configure +} From bc6949dd559ac386c743e1a4602121e6b8d008ef Mon Sep 17 00:00:00 2001 From: Sergey Torokhov Date: Mon, 13 Feb 2023 02:45:11 +0300 Subject: [PATCH 55/63] dev-vcs/gitqlient: 1.6.1-r1, add fix for Commit Description output Signed-off-by: Sergey Torokhov --- .../gitqlient-1.6.1_fix_commit_longLog.patch | 34 +++++++++++++++++++ dev-vcs/gitqlient/gitqlient-1.6.1-r1.ebuild | 5 ++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 dev-vcs/gitqlient/files/gitqlient-1.6.1_fix_commit_longLog.patch diff --git a/dev-vcs/gitqlient/files/gitqlient-1.6.1_fix_commit_longLog.patch b/dev-vcs/gitqlient/files/gitqlient-1.6.1_fix_commit_longLog.patch new file mode 100644 index 0000000000..b955ea2dcf --- /dev/null +++ b/dev-vcs/gitqlient/files/gitqlient-1.6.1_fix_commit_longLog.patch @@ -0,0 +1,34 @@ +diff -Naur a/src/cache/CommitInfo.cpp b/src/cache/CommitInfo.cpp +--- a/src/cache/CommitInfo.cpp ++++ b/src/cache/CommitInfo.cpp +@@ -16,7 +16,7 @@ + parseDiff(data, 1); + } + +-void CommitInfo::parseDiff(QByteArray &data, int startingField) ++void CommitInfo::parseDiff(QByteArray &data, qsizetype startingField) + { + if (data.isEmpty()) + return; +@@ -39,9 +39,9 @@ + committer = fields.at(startingField++); + author = fields.at(startingField++); + dateSinceEpoch = std::chrono::seconds(fields.at(startingField++).toInt()); +- shortLog = fields.at(startingField); ++ shortLog = fields.at(startingField++); + +- for (auto i = 6; i < fields.count(); ++i) ++ for (auto i = startingField; i < fields.count(); ++i) + longLog += fields.at(i) + '\n'; + + longLog = longLog.trimmed(); +diff -Naur a/src/cache/CommitInfo.h b/src/cache/CommitInfo.h +--- a/src/cache/CommitInfo.h ++++ b/src/cache/CommitInfo.h +@@ -96,5 +96,5 @@ + + friend class GitCache; + +- void parseDiff(QByteArray &data, int startingField); ++ void parseDiff(QByteArray &data, qsizetype startingField); + }; diff --git a/dev-vcs/gitqlient/gitqlient-1.6.1-r1.ebuild b/dev-vcs/gitqlient/gitqlient-1.6.1-r1.ebuild index 64cdfd1bfd..3108b7dc01 100644 --- a/dev-vcs/gitqlient/gitqlient-1.6.1-r1.ebuild +++ b/dev-vcs/gitqlient/gitqlient-1.6.1-r1.ebuild @@ -28,7 +28,10 @@ RDEPEND=" dev-vcs/git " -PATCHES=( "$FILESDIR/${P}_fix_tabs_style.patch" ) +PATCHES=( + "$FILESDIR/${P}_fix_tabs_style.patch" + "$FILESDIR/${P}_fix_commit_longLog.patch" +) src_prepare() { default From 60c62f5f89fb61a850f62734a233746b77c613dc Mon Sep 17 00:00:00 2001 From: Samuel Bauer Date: Mon, 13 Feb 2023 01:09:27 +0100 Subject: [PATCH 56/63] games-emulation/yuzu: pkgcheck, >=dev-cpp/httplib-0.12 Signed-off-by: Samuel Bauer --- games-emulation/yuzu/yuzu-0_p20220725.ebuild | 118 ------------------- games-emulation/yuzu/yuzu-0_p20230202.ebuild | 21 +++- games-emulation/yuzu/yuzu-9999.ebuild | 12 +- 3 files changed, 22 insertions(+), 129 deletions(-) delete mode 100644 games-emulation/yuzu/yuzu-0_p20220725.ebuild diff --git a/games-emulation/yuzu/yuzu-0_p20220725.ebuild b/games-emulation/yuzu/yuzu-0_p20220725.ebuild deleted file mode 100644 index c1d3fd0d9b..0000000000 --- a/games-emulation/yuzu/yuzu-0_p20220725.ebuild +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake toolchain-funcs xdg - -DESCRIPTION="An emulator for Nintendo Switch" -HOMEPAGE="https://yuzu-emu.org" -SRC_URI="https://github.com/yuzu-emu/yuzu-mainline/archive/dfaab8f6571856ec3c75cfad303a50503d213665.tar.gz -> ${P}.tar.gz - https://github.com/merryhime/dynarmic/archive/91d1f944e3870e0f3c505b48f5ec00ca9a82b95d.tar.gz -> ${PN}-dynarmic-${PV}.tar.gz - https://github.com/herumi/xbyak/archive/c306b8e5786eeeb87b8925a8af5c3bf057ff5a90.tar.gz -> ${PN}-xbyak-${PV}.tar.gz - compatibility-list? ( https://gist.githubusercontent.com/mazes-80/db6fc80114f67dde9d680de6c4d60428/raw/59274e6e641027cb6bf5e2077a899edabaf88904/yuzu-0_p20220725-compatibility_list.json ) - discord? ( https://github.com/discord/discord-rpc/archive/963aa9f3e5ce81a4682c6ca3d136cddda614db33.tar.gz -> ${PN}-discord-${PV}.tar.gz )" -# Dynarmic is not intended to be generic, it is tweaked to fit emulated processor -# xbyak >= 5.96 still not in portage. sent version bump on gentoo BT, can't be in guru as package already exists -# discord-rpc: help appreciated to make ebuild, as I never use it I surely will stick to snapshot download -# TODO host compatibility_list.json - -LICENSE="|| ( Apache-2.0 GPL-2+ ) 0BSD BSD GPL-2+ ISC MIT" -SLOT="0" -KEYWORDS="~amd64" -IUSE="+compatibility-list +cubeb discord +qt5 sdl webengine +webservice" - -RDEPEND=" - =app-arch/zstd-1.5 - >=dev-libs/libfmt-8:= - >=dev-libs/openssl-1.1:= - >=media-video/ffmpeg-4.3:= - app-arch/lz4:= - dev-libs/boost:=[context] - dev-libs/sirit - media-libs/opus - sys-libs/zlib - virtual/libusb:1 - cubeb? ( media-libs/cubeb ) - qt5? ( - >=dev-qt/qtcore-5.15:5 - >=dev-qt/qtgui-5.15:5 - >=dev-qt/qtmultimedia-5.15:5 - >=dev-qt/qtwidgets-5.15:5 - ) - sdl? ( - >=media-libs/libsdl2-2.0.18 - >=dev-libs/inih-52 - ) -" -DEPEND="${RDEPEND} - dev-cpp/cpp-httplib - >=dev-util/vulkan-headers-1.3.216 -" -BDEPEND=" - >=dev-cpp/nlohmann_json-3.8.0 - dev-cpp/robin-map - dev-util/glslang - discord? ( >=dev-libs/rapidjson-1.1.0 ) -" -S="${WORKDIR}"/yuzu-mainline-dfaab8f6571856ec3c75cfad303a50503d213665 -PATCHES=( "${FILESDIR}/${P}.patch" ) - -REQUIRED_USE="|| ( qt5 sdl )" - -pkg_setup() { - if tc-is-gcc; then - [[ "$(gcc-major-version)" -lt 11 ]] && \ - die "You need gcc version 11 or clang to compile this package" - fi -} - -src_unpack() { - default - mv "${WORKDIR}"/xbyak* "${S}/externals/xbyak/xbyak" || die - mv "${WORKDIR}"/dynarmic*/* "${S}/externals/dynarmic" || die - if use discord; then - mv "${WORKDIR}"/discord*/* "${S}/externals/discord-rpc" || die - fi -} - -src_prepare() { - # Allow skip submodule downloading - rm .gitmodules || die - - if ! use discord; then - sed -i -e '/discord-rpc/d' externals/CMakeLists.txt || die - else - # Unbundle discord rapidjson - sed -i '/NOT RAPIDJSONTEST/,/endif(NOT RAPIDJSONTEST)/d;/find_file(RAPIDJSON/d;s:\${RAPIDJSON}:"/usr/include/rapidjson":' \ - externals/discord-rpc/CMakeLists.txt || die - fi - - cmake_src_prepare -} - -src_configure() { - local -a mycmakeargs=( - # Libraries are private and rely on circular dependency resolution. - -DBUILD_SHARED_LIBS=OFF # dynarmic - -DDYNARMIC_NO_BUNDLED_ROBIN_MAP=ON - -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=$(usex compatibility-list) - -DENABLE_CUBEB=$(usex cubeb) - -DENABLE_QT=$(usex qt5) - -DENABLE_QT_TRANSLATION=$(usex qt5) - -DENABLE_SDL2=$(usex sdl) - -DENABLE_WEB_SERVICE=$(usex webservice) - -DUSE_DISCORD_PRESENCE=$(usex discord) - -DYUZU_TESTS=OFF - -DYUZU_USE_BUNDLED_OPUS=OFF - -DYUZU_USE_EXTERNAL_SDL2=OFF - -DYUZU_USE_QT_WEB_ENGINE=$(usex webengine) - ) - - cmake_src_configure - - if use compatibility-list; then - cp "${DISTDIR}"/${P}-compatibility_list.json "${BUILD_DIR}"/dist/compatibility_list/ || die - fi -} diff --git a/games-emulation/yuzu/yuzu-0_p20230202.ebuild b/games-emulation/yuzu/yuzu-0_p20230202.ebuild index ef683cc24b..0a33404db4 100644 --- a/games-emulation/yuzu/yuzu-0_p20230202.ebuild +++ b/games-emulation/yuzu/yuzu-0_p20230202.ebuild @@ -7,12 +7,20 @@ inherit cmake toolchain-funcs xdg DESCRIPTION="An emulator for Nintendo Switch" HOMEPAGE="https://yuzu-emu.org" -SRC_URI="https://github.com/yuzu-emu/yuzu-mainline/archive/d5f6201521cdfd0be09a187d62f95d3a38f18c3e.tar.gz -> ${P}.tar.gz - https://github.com/merryhime/dynarmic/archive/befe547d5631024a70d81d2ccee808bbfcb3854e.tar.gz -> ${PN}-dynarmic-${PV}.tar.gz - https://github.com/herumi/xbyak/archive/a1ac3750f9a639b5a6c6d6c7da4259b8d6790989.tar.gz -> ${PN}-xbyak-${PV}.tar.gz +SRC_URI="https://github.com/yuzu-emu/yuzu-mainline/archive/d5f6201521cdfd0be09a187d62f95d3a38f18c3e.tar.gz + -> ${P}.tar.gz + https://github.com/merryhime/dynarmic/archive/befe547d5631024a70d81d2ccee808bbfcb3854e.tar.gz + -> ${PN}-dynarmic-${PV}.tar.gz + https://github.com/herumi/xbyak/archive/a1ac3750f9a639b5a6c6d6c7da4259b8d6790989.tar.gz + -> ${PN}-xbyak-${PV}.tar.gz https://github.com/yuzu-emu/sirit/archive/ab75463999f4f3291976b079d42d52ee91eebf3f.tar.gz -> ${PN}-sirit-${PV}.tar.gz - compatibility-list? ( https://gist.githubusercontent.com/mazes-80/e3f1518e67c3292656a9055ba338994f/raw/b975f96366294d9cf65f844ed8df9189a488463d/yuzu-0_p20230202-compatibility_list.json ) - discord? ( https://github.com/yuzu-emu/discord-rpc/archive/20cc99aeffa08a4834f156b6ab49ed68618cf94a.tar.gz -> ${PN}-discord-${PV}.tar.gz )" + compatibility-list? ( + https://gist.githubusercontent.com/mazes-80/e3f1518e67c3292656a9055ba338994f/raw/b975f96366294d9cf65f844ed8df9189a488463d/${P}-compatibility_list.json + ) + discord? ( + https://github.com/yuzu-emu/discord-rpc/archive/20cc99aeffa08a4834f156b6ab49ed68618cf94a.tar.gz + -> ${PN}-discord-${PV}.tar.gz + )" # Dynarmic is not intended to be generic, it is tweaked to fit emulated processor # TODO wait 'xbyak' waiting version bump. see #860816 @@ -91,7 +99,8 @@ src_prepare() { sed -i -e '/^if.*discord-rpc/,/^endif()/d' externals/CMakeLists.txt || die else # Unbundle discord rapidjson - sed -i '/NOT RAPIDJSONTEST/,/endif(NOT RAPIDJSONTEST)/d;/find_file(RAPIDJSON/d;s:\${RAPIDJSON}:"/usr/include/rapidjson":' \ + sed -i -e '/NOT RAPIDJSONTEST/,/endif(NOT RAPIDJSONTEST)/d' \ + -e '/find_file(RAPIDJSON/d' -e 's:\${RAPIDJSON}:"/usr/include/rapidjson":' \ externals/discord-rpc/CMakeLists.txt || die fi diff --git a/games-emulation/yuzu/yuzu-9999.ebuild b/games-emulation/yuzu/yuzu-9999.ebuild index b44eff45de..6bc23133b6 100644 --- a/games-emulation/yuzu/yuzu-9999.ebuild +++ b/games-emulation/yuzu/yuzu-9999.ebuild @@ -28,8 +28,8 @@ RDEPEND=" >=net-libs/enet-1.3 app-arch/lz4:= dev-libs/boost:=[context] - media-libs/vulkan-loader media-libs/opus + media-libs/vulkan-loader sys-libs/zlib virtual/libusb:1 cubeb? ( media-libs/cubeb ) @@ -92,10 +92,10 @@ src_prepare() { # Unbundle inih sed -i -e '/^if.*inih/,/^endif()/d' externals/CMakeLists.txt || die - sed -i -e '1afind_package(PkgConfig REQUIRED)\npkg_check_modules(INIH REQUIRED INIReader)' src/yuzu_cmd/CMakeLists.txt || die + sed -i -e '1afind_package(PkgConfig REQUIRED)\npkg_check_modules(INIH REQUIRED INIReader)' \ + src/yuzu_cmd/CMakeLists.txt || die sed -i -e 's:inih/cpp/::' src/yuzu_cmd/config.cpp || die - # Unbundle mbedtls sed -i -e '/mbedtls/d' externals/CMakeLists.txt || die sed -i -e 's/mbedtls/& mbedcrypto mbedx509/' \ @@ -112,7 +112,8 @@ src_prepare() { sed -i -e '/^if.*discord-rpc/,/^endif()/d' externals/CMakeLists.txt || die else # Unbundle discord rapidjson - sed -i '/NOT RAPIDJSONTEST/,/endif(NOT RAPIDJSONTEST)/d;/find_file(RAPIDJSON/d;s:\${RAPIDJSON}:"/usr/include/rapidjson":' \ + sed -i -e '/NOT RAPIDJSONTEST/,/endif(NOT RAPIDJSONTEST)/d' \ + -e '/find_file(RAPIDJSON/d' -e 's:\${RAPIDJSON}:"/usr/include/rapidjson":' \ externals/discord-rpc/CMakeLists.txt || die fi @@ -121,7 +122,8 @@ src_prepare() { sed -i '/^if.*cubeb/,/^endif()/d' externals/CMakeLists.txt || die # Unbundle cpp-httplib - sed -i -e '/^ # httplib/,/^ endif()/d' externals/CMakeLists.txt || die + sed -i -e '/httplib/s/ 0.11//' CMakeLists.txt || die + sed -i -e '/^# httplib/,/^endif()/d' externals/CMakeLists.txt || die # Unbundle enet sed -i -e '/^if.*enet/,/^endif()/d' externals/CMakeLists.txt || die From 853a76711de9eb5a576403b0dec972e2d3bfb89b Mon Sep 17 00:00:00 2001 From: Andrew Ammerlaan Date: Mon, 13 Feb 2023 11:58:07 +0100 Subject: [PATCH 57/63] sys-kernel/dkms: add 3.0.10, copy from ::natinst Signed-off-by: Andrew Ammerlaan --- sys-kernel/dkms/Manifest | 1 + sys-kernel/dkms/dkms-3.0.10.ebuild | 51 ++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 sys-kernel/dkms/dkms-3.0.10.ebuild diff --git a/sys-kernel/dkms/Manifest b/sys-kernel/dkms/Manifest index c688e13d01..55d5733ebe 100644 --- a/sys-kernel/dkms/Manifest +++ b/sys-kernel/dkms/Manifest @@ -1 +1,2 @@ DIST dkms-2.8.4.tar.gz 104625 BLAKE2B 0bd9c47d2a4bf313426832ec88bbda9bd58a482c691de145ff87ce05d47d473132f2a300e8d0e6e0609b6dcdd47f8f9e521a104ae19cfa8b1ba453fc6de7a412 SHA512 1b8b987b239db8cf00f367ee4f5faf13dc41b450f09fb046dc719e51d6a762d6b700bf41156d8011c3ea7e139064119d6717b60c1bf7fa0a75ea1fc63887baa5 +DIST dkms-3.0.10.tar.gz 89602 BLAKE2B 43bc7ee7b788ac334bff94825f98edfc137be90b4f78f6a351d899c3fbc8961eaffaf3e73310eb24414790f46197e8409608a08a5003f515f162d6787ee7be09 SHA512 b271453497a004177137e972cb45cacb2dd3ac124a1fd2526218cf690f5ce77250195e73b6f9c75de4661a718d928e546bd85770ab98c2fd9af44fe777492ad7 diff --git a/sys-kernel/dkms/dkms-3.0.10.ebuild b/sys-kernel/dkms/dkms-3.0.10.ebuild new file mode 100644 index 0000000000..2eb619077c --- /dev/null +++ b/sys-kernel/dkms/dkms-3.0.10.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit linux-info + +DESCRIPTION="Dynamic Kernel Module Support" +HOMEPAGE="https://github.com/dell/dkms" +SRC_URI="https://github.com/dell/dkms/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +SLOT="0" + +IUSE="systemd" + +CONFIG_CHECK="~MODULES" + +RDEPEND=" + sys-apps/kmod + systemd? ( sys-apps/systemd ) +" + +# Error: unknown Linux distribution ID gentoo +RESTRICT="test" + +src_prepare() { + # Install uncompressed version of man files + sed -i -e '\_gzip -9 $(MAN)/dkms.8_d' Makefile || die + default +} + +src_compile() { + # Nothing to do here + return +} + +src_test() { + ./run_test.sh || die "Tests failed" +} + +src_install() { + if use systemd; then + emake install-redhat DESTDIR="${ED}" LIBDIR="${ED}"/usr/$(get_libdir)/ + else + emake install DESTDIR="${ED}" LIBDIR="${ED}"/usr/$(get_libdir)/ + fi + einstalldocs + keepdir /var/lib/dkms +} From cb30c72d14c8854e9c198df9005d0467831df326 Mon Sep 17 00:00:00 2001 From: Andrew Ammerlaan Date: Mon, 13 Feb 2023 12:17:06 +0100 Subject: [PATCH 58/63] dev-python/sphinxcontrib-jquery: treeclean, remove duplicate Signed-off-by: Andrew Ammerlaan --- dev-python/sphinxcontrib-jquery/Manifest | 1 - dev-python/sphinxcontrib-jquery/metadata.xml | 12 ------- .../sphinxcontrib-jquery-3.0.0.ebuild | 35 ------------------- 3 files changed, 48 deletions(-) delete mode 100644 dev-python/sphinxcontrib-jquery/Manifest delete mode 100644 dev-python/sphinxcontrib-jquery/metadata.xml delete mode 100644 dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-3.0.0.ebuild diff --git a/dev-python/sphinxcontrib-jquery/Manifest b/dev-python/sphinxcontrib-jquery/Manifest deleted file mode 100644 index 128c4662f9..0000000000 --- a/dev-python/sphinxcontrib-jquery/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST sphinxcontrib-jquery-3.0.0.gh.tar.gz 121750 BLAKE2B 5b160fa1434b111683824442a0ecb0da230dba7f29161495859845282e1b6471faa256be6fffc2d34c6fc97e4e188bb1247284613bf65bf322fcb77463b6cf83 SHA512 a681f42734f2925b597f8d90c7b90a3f6df9549d1c97195799670542c5eabdc4d4d4aecfef29f56bd74ffad18ab179cc47f27b8395c11388259473690601901a diff --git a/dev-python/sphinxcontrib-jquery/metadata.xml b/dev-python/sphinxcontrib-jquery/metadata.xml deleted file mode 100644 index fed772b312..0000000000 --- a/dev-python/sphinxcontrib-jquery/metadata.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - cyber+gentoo@sysrq.in - Anna - - - sphinxcontrib.jquery - sphinx-contrib/jquery - - diff --git a/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-3.0.0.ebuild b/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-3.0.0.ebuild deleted file mode 100644 index e4f4cfc388..0000000000 --- a/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-3.0.0.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) -DISTUTILS_USE_PEP517=flit -inherit distutils-r1 - -MY_PN=${PN#sphinxcontrib-} -DESCRIPTION="Extension to include jQuery on newer Sphinx releases" -HOMEPAGE=" - https://pypi.org/project/sphinxcontrib-jquery/ - https://github.com/sphinx-contrib/jquery -" -SRC_URI="https://github.com/sphinx-contrib/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" -S="${WORKDIR}/${MY_PN}-${PV}" - -LICENSE="0BSD" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] - dev-python/sphinx[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/sphinx-testing[${PYTHON_USEDEP}] - ) -" - -DOCS=( AUTHORS {CHANGES,README}.rst ) - -distutils_enable_tests pytest From 8ed931f0709f67764e8ebda0d72222904709fac5 Mon Sep 17 00:00:00 2001 From: Andrew Ammerlaan Date: Mon, 13 Feb 2023 12:18:19 +0100 Subject: [PATCH 59/63] dev-vcs/gitqlient-gitserver-plugin: unkeyword 0.2.0 for ~x86 Signed-off-by: Andrew Ammerlaan --- .../gitqlient-gitserver-plugin-0.2.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-vcs/gitqlient-gitserver-plugin/gitqlient-gitserver-plugin-0.2.0.ebuild b/dev-vcs/gitqlient-gitserver-plugin/gitqlient-gitserver-plugin-0.2.0.ebuild index c033ab7b76..a2d34bacd7 100644 --- a/dev-vcs/gitqlient-gitserver-plugin/gitqlient-gitserver-plugin-0.2.0.ebuild +++ b/dev-vcs/gitqlient-gitserver-plugin/gitqlient-gitserver-plugin-0.2.0.ebuild @@ -17,7 +17,7 @@ SRC_URI=" https://github.com/francescmm/${GQ}/releases/download/v${GQ_PV}/${GQ_PN}_${GQ_PV}.tar.gz -> ${GQ_PN}-${GQ_PV}.tar.gz " -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64" LICENSE="LGPL-2.1" SLOT="0" From 317d3875595b5e3b3f08957cabe3bd2387ec1da1 Mon Sep 17 00:00:00 2001 From: Andrew Ammerlaan Date: Mon, 13 Feb 2023 12:18:46 +0100 Subject: [PATCH 60/63] dev-vcs/gitqlient-jenkins-plugin: unkeyword 0.2.0 for ~x86 Signed-off-by: Andrew Ammerlaan --- .../gitqlient-jenkins-plugin-0.2.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-vcs/gitqlient-jenkins-plugin/gitqlient-jenkins-plugin-0.2.0.ebuild b/dev-vcs/gitqlient-jenkins-plugin/gitqlient-jenkins-plugin-0.2.0.ebuild index 8ffd752420..6dd31629a2 100644 --- a/dev-vcs/gitqlient-jenkins-plugin/gitqlient-jenkins-plugin-0.2.0.ebuild +++ b/dev-vcs/gitqlient-jenkins-plugin/gitqlient-jenkins-plugin-0.2.0.ebuild @@ -17,7 +17,7 @@ SRC_URI=" https://github.com/francescmm/${GQ}/releases/download/v${GQ_PV}/${GQ_PN}_${GQ_PV}.tar.gz -> ${GQ_PN}-${GQ_PV}.tar.gz " -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64" LICENSE="LGPL-2.1" SLOT="0" From a6665eb35415e5930fe579a6ee0735312c7f920a Mon Sep 17 00:00:00 2001 From: Andrew Ammerlaan Date: Mon, 13 Feb 2023 12:19:17 +0100 Subject: [PATCH 61/63] games-emulation/yuzu: update Manifest Signed-off-by: Andrew Ammerlaan --- games-emulation/yuzu/Manifest | 5 ----- 1 file changed, 5 deletions(-) diff --git a/games-emulation/yuzu/Manifest b/games-emulation/yuzu/Manifest index 12a1ec9b7b..bbe3bf3bd3 100644 --- a/games-emulation/yuzu/Manifest +++ b/games-emulation/yuzu/Manifest @@ -1,11 +1,6 @@ -DIST yuzu-0_p20220725-compatibility_list.json 1255189 BLAKE2B e2f39f6703bfd49e918d62bcc05d03ae19e3c9be45ade4b266bf9ba8956fd3e8ef246db4804e72d4eb4782f0008ac63d118217e3ef95bbe4c148008c4b764407 SHA512 ba3b149c91d11be2f1033214f03a09e5a3b5cfd559acba40a78f3b3932a93675ff6751eb2701326adc15b90cb2508c03698c3a531fe1cb4ed445a5b189424410 -DIST yuzu-0_p20220725.tar.gz 4929471 BLAKE2B 0d7f633936ef571da02562a853576ad1acd5dcae9035e2539ea94269d3c266cc9ba60ad8c8b9cd1f15413de3ab2bbb9b9cb8fa0fb6d6d20561a4f42d89c99662 SHA512 8f2ab5dd406cdb26821ad621cb816f22866a83d92969fea6b90c77c8cb9e1d39e4179c1e3c5aa4be56ed8f1707c801071dd90807f6011bc8a631f62b22930d2e DIST yuzu-0_p20230202-compatibility_list.json 1701739 BLAKE2B 204502a6c8e2838b126c857d7b39cbcfe25a577515f2272d80185a9543e95c324e069d3f3de41564ca24aab5988d38725423691b3a3e6415ea87fd6772c30f1d SHA512 6f3809999cc5736c7cf3001b4485095dd00d2ad8d5d3459dea0aed006c3361731823a181adf94edd612ffdc8a6fb0c697f7f70cfb1402953c95a9fdd0faaae42 DIST yuzu-0_p20230202.tar.gz 5535753 BLAKE2B f9dbc43523a5745c3f73d18dc4f8b31811bb80fdc3ac362e584197e01db103324aa568143389cdba1d42d9639af88b49e24312f1ead085a6727afa6d470ca5b5 SHA512 faf597e0ed5837d3b358dfbb7d4cd8e535b4dc49be8781e556fc0b3677e48892c9c71c346bda49c5f6ac081502431480126c11b28a343bc5050341b8a384a7a2 -DIST yuzu-discord-0_p20220725.tar.gz 2108078 BLAKE2B e89ee4a196167cabaecfab82d191516eb0cf0fa89e35f95b6d118d5baad25f5d13d9002a8dcfe4aba099af7b9c1eb72835eb3baa9e4deaedd2754e99687b5967 SHA512 06205287addabfb343ccd9af997b693ed221fe564355d3629d4dee6c003e768b3f65f2b34eb04ef29807a15c5fa34b04c664212b7e0d15b09ad9a4e4be10a560 DIST yuzu-discord-0_p20230202.tar.gz 2106929 BLAKE2B 6e40c938cca5ef3feb8dc65265ef1a4cd3db58c0bbea2fb3d3a4e70748c451ead54932857d761b942a7018dcf461e43bc10ee5eab7907730319675b49564260a SHA512 323b6c8828a2e18f7986aa968ab2ce7ed876196c726d5114a07a536091090f4bd6d4080d87e7fdc4f96dff55871002d8a9a7daa50febd49b75d066e9e363c7ce -DIST yuzu-dynarmic-0_p20220725.tar.gz 2668960 BLAKE2B 5089f2d536664f5b38ee54eb17c37721a8dc8ffb80712f69461a94ddfd3cb2cd1a26df84720d2574b0156571ec6a9daf3861092de0669e195d6e49283c24fc11 SHA512 1915b0c8d06cf25f074b457e6e6a6944a01f4e3273e8979e71649d7b273484cff344c87a9da7115862a7c8c1f75c8b2ff5110e3079935d1212173fdc00a71a77 DIST yuzu-dynarmic-0_p20230202.tar.gz 3582382 BLAKE2B 46df3546287e6b591e346009ab86c4db80ab19fd0493d057145c20a26c61c8ff85147acc4aac0de36386a18a003d291e4c8ab9a3b2664fe2f9537de74f8fa2ed SHA512 13b2da826bb1de5e610d92979af466bd404bee447f0200277e976797b31ed6844d20541c980ed3a7e5a9aef6fac2a5bc9cb94b37dcc46272c7b51bcb878c3fc6 DIST yuzu-sirit-0_p20230202.tar.gz 23853 BLAKE2B 4c4e69203a75cf849497e540bb0dcea694a72b4230f205b769447d3d11f7c0fb089ca262009396b9af55503d45b128edb1e99e438b89ab21ac842f789c5109a3 SHA512 43204596db5c6295cc8bdf9355fd71433fa5d1e28d9d8c01f12082d2cd8fb6f78e20d97b396e7bdf202afae2361386f1861a1012d2947569dcbb114996fc6b1d -DIST yuzu-xbyak-0_p20220725.tar.gz 227168 BLAKE2B 6d03000be6a37704b86948ac58b9f2fd3809a892e59018be7e109eb6ce866727e83cb775307ae049b9aa5048028b3390e14b131f6cbda10e346be2acd866a20b SHA512 792146aefc2e3af9f412db383b4fcbd5e945f9814bde25cc18ea76a6f276c3bd6c38edb581074a2b48d11176a398cc6873556b5e2986449fe0417b7e46c09d95 DIST yuzu-xbyak-0_p20230202.tar.gz 249481 BLAKE2B 94eb81637f410ea88781cb3da94dfce4e4a6104458b0774d36c98f6cd2114f55772182f4535e502a5efa06290677fc67d0bac9db4effb7fa44a79561b16c1738 SHA512 87f6ba92a484738b3a75a4d2c5c7e3f4f9ca65cdc02f71b761dba72c8320a011dd38ea5350516d980b8370211977816de4c3357fc5ae8c9f0a86b4a595768c5e From bab426407ed82e3bcc8ab1ffbdc4f67d443fd75a Mon Sep 17 00:00:00 2001 From: Andrew Ammerlaan Date: Mon, 13 Feb 2023 12:21:53 +0100 Subject: [PATCH 62/63] games-action/ATLauncher: add 3.4.27.0 Signed-off-by: Andrew Ammerlaan --- .../ATLauncher/ATLauncher-3.4.27.0.ebuild | 45 +++++++++++++++++++ games-action/ATLauncher/Manifest | 1 + 2 files changed, 46 insertions(+) create mode 100644 games-action/ATLauncher/ATLauncher-3.4.27.0.ebuild diff --git a/games-action/ATLauncher/ATLauncher-3.4.27.0.ebuild b/games-action/ATLauncher/ATLauncher-3.4.27.0.ebuild new file mode 100644 index 0000000000..030e21842f --- /dev/null +++ b/games-action/ATLauncher/ATLauncher-3.4.27.0.ebuild @@ -0,0 +1,45 @@ +# Copyright 2019-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop java-pkg-2 xdg + +DESCRIPTION="Minecraft launcher which integrates multiple different ModPacks" +HOMEPAGE="https://atlauncher.com + https://github.com/ATLauncher/ATLauncher" +SRC_URI="https://github.com/ATLauncher/ATLauncher/releases/download/v${PV}/${P}.jar + https://raw.githubusercontent.com/ATLauncher/ATLauncher/master/src/main/resources/assets/image/icon.ico -> ${PN}.ico" + +KEYWORDS="~amd64" +LICENSE="GPL-3" +SLOT="0" + +BDEPEND="media-gfx/imagemagick[png]" + +RDEPEND="virtual/jre:1.8" + +S="${WORKDIR}" + +src_unpack() { + # do not unpack jar file + cp "${DISTDIR}/${PN}.ico" "${S}" || die +} + +src_compile() { + convert ${PN}.ico ${PN}.png || die +} + +src_install() { + java-pkg_newjar "${DISTDIR}/${P}.jar" ${PN}.jar + + dobin "${FILESDIR}/${PN}" + + newicon -s 256x256 ${PN}-0.png atlauncher.png + newicon -s 128x128 ${PN}-1.png atlauncher.png + newicon -s 64x64 ${PN}-2.png atlauncher.png + newicon -s 48x48 ${PN}-3.png atlauncher.png + newicon -s 32x32 ${PN}-4.png atlauncher.png + newicon -s 16x16 ${PN}-5.png atlauncher.png + make_desktop_entry ${PN} "ATLauncher" atlauncher Game +} diff --git a/games-action/ATLauncher/Manifest b/games-action/ATLauncher/Manifest index dce8536df6..320d2e73d1 100644 --- a/games-action/ATLauncher/Manifest +++ b/games-action/ATLauncher/Manifest @@ -1,2 +1,3 @@ +DIST ATLauncher-3.4.27.0.jar 22508308 BLAKE2B 36d725b4e75407363245487470930b2bbfddfca9849905d4738b08764043e8a449cfc33cf2e41679e415cabe0b49f717bd5293aa03ddda6a1c5f7bbe890ef8af SHA512 1ea03c559d0983e644ab8433aacd849b29ccc73c2aa22e37ca97dc0723b5fec939712db6235a8bea1e833217d5e05b2abe10f3b699bd19ac5f8a5040ad8ebcac DIST ATLauncher-3.4.3.1.jar 13796481 BLAKE2B 909e6a22f743bcd69109a8d14a197f7e81f3773a324df789cc1a23f5f6884f8a17a3321738542b67a3b783d6e98b353b76b12d9cd354de1b78c548b84e4262c7 SHA512 6c8c897c904129e17436604d6b05fe9fa16ba7c1269d22a76a89b5f9db6a319657bf28147d8b5159b8829b057b86ab9a8de5dcde33f622f9621351a1803b46e6 DIST ATLauncher.ico 370070 BLAKE2B 992e5df968054884c21f136b8f16f2b14e8d321b2196ebc07f7a59621223ca79b896f63b21dba864f61f238ca1864039a410d8089127714163092f65d0ca7f27 SHA512 353f6dd68475778cc8e97a773e800fe532df2f6d28d5babc751cfb5ed7ef24ef6246f76d26e3e25706e458741d604bb8fa8e79cb8904900284f0f7b0f9488bfb From 437d1e182311d1d5079406fd38e845eccd876394 Mon Sep 17 00:00:00 2001 From: Andrew Ammerlaan Date: Mon, 13 Feb 2023 12:24:17 +0100 Subject: [PATCH 63/63] games-action/technic-launcher: add 4.768 Signed-off-by: Andrew Ammerlaan --- games-action/technic-launcher/Manifest | 1 + .../technic-launcher-4.768.ebuild | 44 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 games-action/technic-launcher/technic-launcher-4.768.ebuild diff --git a/games-action/technic-launcher/Manifest b/games-action/technic-launcher/Manifest index 6f0b9e386d..d069980ad6 100644 --- a/games-action/technic-launcher/Manifest +++ b/games-action/technic-launcher/Manifest @@ -1,2 +1,3 @@ DIST technic-launcher-4.625.jar 5394348 BLAKE2B 46306f86a4b80aa70276ccc8fbd3f88c036bdd5e67a3b9a6b0444a9ec22d86113082d279ad9d78313e5753e9458ba7c52a7e507eb4b625c2b6d2662c5e5fdb10 SHA512 29cca87c55c3415fa3dde40030b09db75dc00387e87f2432a44d7acde1e1544ebf7f55a12d46d084c2f207be7882ee13bd6f50af3da0046b02d64077c35a24c4 +DIST technic-launcher-4.768.jar 6949323 BLAKE2B b5e2006b82f0efee9c872c513436c8ab68ad87473a001b1baf25393be5a1c26ffee1d0783dd87218c1e38978d6934c610019cc80e68401bc978a1834b19b8741 SHA512 d96cda057e746dced1bcc7635ace43a9eb65ed71a28e7af3f0b184162cb365aa101e4bb90880da679b52a9f5b828d27cf81b3cb729ccda4b02837bc638876753 DIST technic-launcher.ico 15086 BLAKE2B 4f5be0661bfbdca971cf022767618acef1e912b60c3f0574f383a8bd0281a6d66ca1b8b105412ec9579f3999514a471412fb16da66d937acfb4d3236b8f99663 SHA512 c109113a0e1be10bc013bfb79b742396a768fa683860a83d734e158b709e66b9e21067e1791ae5f7a854ccd21b1bf9adf6eeb27bc33d9da03f902dfe5d8be710 diff --git a/games-action/technic-launcher/technic-launcher-4.768.ebuild b/games-action/technic-launcher/technic-launcher-4.768.ebuild new file mode 100644 index 0000000000..cacf1614ef --- /dev/null +++ b/games-action/technic-launcher/technic-launcher-4.768.ebuild @@ -0,0 +1,44 @@ +# Copyright 2019-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop java-pkg-2 xdg + +DESCRIPTION="Minecraft launcher for community-made modpacks on the Technic Platform" +HOMEPAGE="https://www.technicpack.net/" +SRC_URI=" + https://launcher.technicpack.net/launcher${PV:0:1}/${PV:2}/TechnicLauncher.jar -> ${P}.jar + https://www.technicpack.net/favicon.ico -> ${PN}.ico +" + +KEYWORDS="~amd64 ~x86" +LICENSE="technic" +SLOT="0" + +RESTRICT="bindist mirror" + +BDEPEND="media-gfx/imagemagick[png]" + +RDEPEND="virtual/jre:1.8" + +S="${WORKDIR}" + +src_unpack() { + # do not unpack jar file + cp "${DISTDIR}/${PN}.ico" "${S}" || die +} + +src_compile() { + convert ${PN}.ico ${PN}.png || die +} + +src_install() { + java-pkg_newjar "${DISTDIR}/${P}.jar" ${PN}.jar + java-pkg_dolauncher ${PN} --jar ${PN}.jar --java_args "\${JAVA_OPTS}" + + newicon -s 16x16 ${PN}-0.png technic.png + newicon -s 32x32 ${PN}-1.png technic.png + newicon -s 48x48 ${PN}-2.png technic.png + make_desktop_entry ${PN} "Technic Launcher" technic Game +}