Merge updates from master

This commit is contained in:
Repository mirror & CI
2020-09-19 14:35:14 +00:00
34 changed files with 796 additions and 448 deletions

View File

@@ -23,7 +23,6 @@ DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191011141410-1b5146add898.mod 37 B
DIST gopkg.in%2Fcheck.v1%2F@v%2Fv0.0.0-20161208181325-20d25e280405.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
DIST gopkg.in%2Fyaml.v3%2F@v%2Fv3.0.0-20200313102051-9f266ea9e77c.mod 95 BLAKE2B fbb87f0644ec9da5d4386358d23cdb15b0d23e8212e712f16f338455a3a0ad19fbfd63e92c955c359237ddfa8bb76d6d08280eead24d321668431891eca1e8ab SHA512 307ca9123efc577ca04828996ee9d8edbb51794ccb4b8d9f169ba689e7276aa5f6ae106a04b22b7fab853ffacfebcbf74468b64eaefd57445864c1fbc77fad9d
DIST gopkg.in%2Fyaml.v3%2F@v%2Fv3.0.0-20200313102051-9f266ea9e77c.zip 101467 BLAKE2B 8bb0aec8e693a4c0da59f1931e1fdcf6f94a236faba149d5af91e87284f39c693d20be65248eecde739cb555e371804fa6c723a56c69e6d02a347ba908e968b1 SHA512 bee7757d760f5ba1b9f7523af358652a5cb65f2b0064da097f78450871b2636efcbab0298a9871bbb3ce8012bf95a155949251d4f61464dde510097b936b47a8
DIST nvidia-container-toolkit-1.1.1.tar.gz 1767996 BLAKE2B 3298f157221e06296665a0d612ad96b4410ce1b79770d0647be7bd1db98df8b5ba826f148777cf06d3afaca731ba276f1221471c1a24259cc2a42d976671bf9b SHA512 47bd96e972044ea06ab2de8a974ad1b83d80cf07cf81526a2fbff724190bca1422ffb85bdd2c3386eaf1f8866651b21161590a9d778509801eed3eced18a96f6
DIST nvidia-container-toolkit-1.1.2.tar.gz 1744451 BLAKE2B d76e94479825c79c4e27721fb2cb9d8b9e4cf00536db59c1deb42b4633a0465bcc5c11c13b61d163c2017357041415b8850e414b133effafd35886a4d2169177 SHA512 0cb84b7c785c2e050abe7036a5b9cafc0d24b3e83d70aa0d220468c97bd75e928790ec1d5d945a4fe3723cfc8aaa21570a668c53dcd277a9de79d8ec652b751b
DIST nvidia-container-toolkit-1.2.0.tar.gz 1748985 BLAKE2B b96d7e50c96583d03c4658c11ce08cf700299254afdeda51ffcee1c160a24fdb12d9e042ff5513a6c708ecfaf091741f1914518e8695f3b1f80ef175e8932acf SHA512 9cb40afd1bdc1005c163242ac75eee40c9d9664a18b126d7aec5c6cc1a1dbf016408b577497684f768ceed49350362c7f1bd7634babe038e47bfe5ac0d9d31f5
DIST nvidia-container-toolkit-1.2.1.tar.gz 1748938 BLAKE2B 94d5e8ae36373030fed88910fb383b4dc1d2f36157f82bdaf2830d88669a4bd8cf6a7c351133ffef920ecc0db8d4d39f80c99135a469753ab7d84e693b079a35 SHA512 0a1432c9674b0f93bd993c5a0cb4591ab4e2fe2b84064de5dbd2ff88929ff7ddcdf71b5abcfeaedab257e2fcbb0e3890a0281cd8b9f69744f83f9b676d5961de
DIST nvidia-container-toolkit-1.3.0.tar.gz 27609 BLAKE2B 08519a0559087d1c0dee989414e4ca2334278bdc3c9a49cbe00bc8a4194ce14e0a79ba9c902b121e0c0901d4dcfb2e86dc8b4aaced3f636a3ad55ac3fabcd836 SHA512 3a0eef062f186ff935840305c1121fb8dbac630eb1eb04af9756c2dffe5c2f04a4a164f95ccd8ab7a062f26e655f8ace06ebc16675b0bf00eecae0e1eaba71b6

View File

@@ -1,59 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GITHUB_PN="container-toolkit"
EGO_PN_VCS="github.com/NVIDIA/${GITHUB_PN}"
EGO_PN="${EGO_PN_VCS}"
inherit golang-build
DESCRIPTION="NVIDIA container runtime toolkit"
HOMEPAGE="https://github.com/NVIDIA/nvidia-container-toolkit"
if [[ "${PV}" == "9999" ]] ; then
inherit golang-vcs
else
inherit golang-vcs-snapshot
SRC_URI="
https://github.com/NVIDIA/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
"
KEYWORDS="~amd64"
fi
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
RDEPEND="
sys-libs/libnvidia-container
"
DEPEND="${RDEPEND}"
BDEPEND=""
src_compile() {
EGO_PN="${EGO_PN_VCS}/pkg" \
EGO_BUILD_FLAGS="-o ${T}/${PN}" \
golang-build_src_compile
}
src_install() {
dobin "${T}/${PN}"
into "/usr/bin"
dosym "${PN}" "/usr/bin/nvidia-container-runtime-hook"
insinto "/etc/nvidia-container-runtime"
doins "${FILESDIR}/config.toml"
}
pkg_postinst() {
elog "Your docker service must restart after install this package."
elog "OpenRC: sudo rc-service docker restart"
elog "systemd: sudo systemctl restart docker"
elog "You may need to edit your /etc/nvidia-container-runtime/config.toml"
elog "file before running ${PN} for the first time."
elog "For details, please see the NVIDIA docker manual page."
}

View File

@@ -3,8 +3,7 @@
EAPI=7
GITHUB_PN="container-toolkit"
EGO_PN="github.com/NVIDIA/${GITHUB_PN}"
EGO_PN="github.com/NVIDIA/${PN}"
inherit go-module
@@ -50,7 +49,7 @@ else
go-module_set_globals
SRC_URI="
https://github.com/NVIDIA/${GITHUB_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/NVIDIA/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
${EGO_SUM_SRC_URI}
"
KEYWORDS="~amd64"

View File

@@ -1,2 +1,2 @@
DIST fet.sh-1.6.tar.gz 145379 BLAKE2B a906cf9bec877e6b1013eea33be5f5b1aef82c20921b4d5a47db36b3682a98ca4354f03f1e467181aa249ef63fae3814f9496a7ef202e7080bc68d64c443f5d1 SHA512 8d74b00a47d1ab50f3b7909cf2e7558b908587d7f5872b221812dfaae98b4f7f894dd2899dd9e2f760e4243cabdd594c8a1901cafbf2fac6f6e39fa6fd802fe2
DIST fet.sh-1.7.tar.gz 145651 BLAKE2B cddf87054c417fa776e77a30a56795ee174c747940c9344d3a04aaaffe98d7bc1f7c73ea03cfa4d4f831cab79a52baf83f5a05894365bdd9a7cd20347149fca9 SHA512 1269e07e38911d14d7eb2434bc8478507abd0103414ffbe8c7b99b477b5d68089d8612fabc96cdda69f895cba34bf50af6948ca121e1e9b4793051dba3add864
DIST fet.sh-1.8.tar.gz 145762 BLAKE2B 205d2c1f815ec5d42457c72bd65004a9a8bb29c29c9b85d23c64e46914e9643c2605f8dfb49faa67da2f1d7784fdd1b21dbe17864e86ee21877ed8875daf16df SHA512 3e2af006e9ca27022f5b6cee8ba7ec1847f18ff7c2f99715ef007492b7fec08dadb46a45eb30d1f7a425fd49740f77ed2d6490a439d7758ffd1862e7ac60b840

View File

@@ -21,6 +21,8 @@ esac
LICENSE="ISC"
SLOT="0"
RESTRICT="mirror"
src_install() {
dobin fet.sh
}

View File

@@ -21,6 +21,8 @@ esac
LICENSE="ISC"
SLOT="0"
RESTRICT="mirror"
src_install() {
dobin fet.sh
}

View File

@@ -21,6 +21,8 @@ esac
LICENSE="ISC"
SLOT="0"
RESTRICT="mirror"
src_install() {
dobin fet.sh
}

View File

@@ -21,19 +21,19 @@ clap-2.33.3
constant_time_eq-0.1.5
crossbeam-utils-0.7.2
derive_more-0.14.1
dirs-3.0.1
dirs-sys-0.3.5
getrandom-0.1.14
directories-next-1.0.1
dirs-sys-next-0.1.0
getrandom-0.1.15
heck-0.3.1
hermit-abi-0.1.15
lazy_static-1.4.0
libc-0.2.76
libc-0.2.77
memchr-2.3.3
numtoa-0.1.0
proc-macro-error-1.0.4
proc-macro-error-attr-1.0.4
proc-macro2-0.4.30
proc-macro2-1.0.19
proc-macro2-1.0.21
quote-0.6.13
quote-1.0.7
raw_tty-0.1.0
@@ -53,7 +53,7 @@ strsim-0.8.0
structopt-0.3.17
structopt-derive-0.4.10
syn-0.15.44
syn-1.0.39
syn-1.0.40
terminal_size-0.1.13
termion-1.5.5
textwrap-0.11.0

View File

@@ -3,7 +3,8 @@
EAPI=7
PYTHON_COMPAT=( python3_6 )
PYTHON_COMPAT=( python3_{6,7} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
@@ -37,9 +38,17 @@ DEPEND="${RDEPEND}
dev-python/emoji[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
dev-python/sleekxmpp[${PYTHON_USEDEP}]
)
"
python_prepare_all() {
# Sleekxmpp no longer in repo
rm tests/test_xmpp.py || die
sed -i -e 's:test_xmpp:_&:' \
tests/test_integration.py || die
distutils-r1_python_prepare_all
}
distutils_enable_tests pytest
distutils_enable_sphinx docs

View File

@@ -0,0 +1 @@
DIST sphinx-tabs-1.3.0.tar.gz 23246 BLAKE2B 5bab0f184503acf21402c4e393e3db07d9ef292abad7bf1c3bc0c58836e9d18ffb13b86c445f9705b37bc22ec9caf312c4a69dde53aa86b58626ec2e330ff034 SHA512 d616a543bf0cd9184574928859714d975a063a7b607be0b93d548dceeed8d9442ee723d1557267258f7b1c50c917f66a31b15d4579c2adf360b965e10c7d23de

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>samuelbernardo.mail@gmail.com</email>
<name>Samuel Bernardo</name>
</maintainer>
<upstream>
<remote-id type="pypi">sphinx-tabs</remote-id>
<remote-id type="github">executablebooks/sphinx-tabs</remote-id>
<bugs-to>https://github.com/executablebooks/sphinx-tabs/issues</bugs-to>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,40 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( pypy3 python3_{6,7,8} )
inherit distutils-r1
DESCRIPTION="Create tabbed content in Sphinx documentation when building HTML"
HOMEPAGE="https://github.com/executablebooks/sphinx-tabs"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
dev-python/docutils[${PYTHON_USEDEP}]
"
BDEPEND="
>=dev-python/setuptools_scm-1.15.0[${PYTHON_USEDEP}]
test? (
${RDEPEND}
dev-python/path-py[${PYTHON_USEDEP}]
)
"
S="${WORKDIR}/${P}"
distutils_enable_tests pytest
python_test() {
# Ignore the module from ${S}, use the one from ${BUILD_DIR}
# Otherwise, ImportMismatchError may occur
# https://github.com/gentoo/gentoo/pull/1622#issuecomment-224482396
# Override pytest options to skip flake8
pytest -vv --ignore=rst --override-ini="addopts=--doctest-modules" \
|| die "tests failed with ${EPYTHON}"
}

View File

@@ -1,3 +1,3 @@
DIST ATLauncher-3.3.5.2.jar 10796908 BLAKE2B 8060b8fc7a02792fc25cf056f453f8d9af820242ce8ad7b52f12abfff5073f2f894c6c46d2646d766e981c142c5518184d80aedb6ecdb04e5e725e32d6c14a2a SHA512 2a2fda31ae67e5831a9a957069bf65880c6ba297f2306c36da9ffe2fa402e25545cab0bca22e457e8bef189be3803ebc80e555a42cec9d54075363c977281ad6
DIST ATLauncher-3.3.5.3.jar 10793718 BLAKE2B 7ffa18e77c1ec35ca62499ee59b595a889a32dbc2bae6dd4beff40916e1d60fd70bd2da0c30401134f391ab0e875f3fc1f69666899e4d31b427af8518aaa2499 SHA512 171aeee13662c193a87aca6202339019ab622d3aecc1301416d5c21de4c6f128ed6505f1d4f6da266995329b0e9d8dcab7992d93aab3aeef8c46ae25a55a9fff
DIST ATLauncher-3.3.6.0_pre.jar 11153785 BLAKE2B 23634896180133bd72f57178c180007dd9b6896434e3e86ab0548572928aa2e6c1ed8eeee00c374a42c9aa977d680974fcf78f1e3b812217fa03f6773aa29cc3 SHA512 b8bc795f3e137a5c459c0c592379fa0a9f01605d412eecc614104ee8d996510adbe326b154556fdd78a7cf5c4e89049bd311c5eaa2d47b4dbf240c7b7d433226
DIST ATLauncher.ico 370070 BLAKE2B 992e5df968054884c21f136b8f16f2b14e8d321b2196ebc07f7a59621223ca79b896f63b21dba864f61f238ca1864039a410d8089127714163092f65d0ca7f27 SHA512 353f6dd68475778cc8e97a773e800fe532df2f6d28d5babc751cfb5ed7ef24ef6246f76d26e3e25706e458741d604bb8fa8e79cb8904900284f0f7b0f9488bfb

View File

@@ -1,3 +1 @@
DIST kikoplay-0.6.2.tar.gz 7520940 BLAKE2B 4015463b137a7605107a87db86d56658ef5e563374f67cc42f401d71ef2b72be10c9b817b90cb294674c9ee4a285fd908521be7b01fa37df879214c3c37c54a2 SHA512 c436da509b89d3ecb0e86cb195cb058fbe594e643959f24a91792b69ce2649ef5186116bc4b3e01b14bcb7286d30303276d48d4f0b2db45d6fbf385e370b8db5
DIST kikoplay-0.7.0.tar.gz 7721267 BLAKE2B 33e1afa2485b8fe35bc88b1557f825823a501d82927c5e65f9bda87e45b9bc7c257c5cce3f0e6462bf0cb216f4b9559575afdcc136c3230d0a6f2505be367f0d SHA512 38478ce735eba6363061ec235054e2021b89a5f4277b28fa4e03271cfd003e85b3e77285aafb06db8df4e62f01e1fc39f721c66af014f54c8d4e6b18c4ba91f1
DIST kikoplay-0.7.1.tar.gz 8176092 BLAKE2B d0798272b1e58fa45738dc8ffc5c3c14c076d9bb15feed31aa4c4076b644f4c5c910665f55c69c3babb9c8a5aed781cc46da7b43c47e81333e3608204f9f249c SHA512 4817ac9a39470598ebe965235cb0afb247fe5435d4ab6292d6d1f0219c8039dcccef5a4f3bf1a53113958be0641418cb48a7d37b74b6b610ca073b1d94121199

View File

@@ -1,12 +0,0 @@
diff --git a/KikoPlay.pro b/KikoPlay.pro
index 7270328..1fe6f8d 100644
--- a/KikoPlay.pro
+++ b/KikoPlay.pro
@@ -268,5 +268,6 @@ contains(QT_ARCH, i386){
unix:web.files = web/*
INSTALLS += target icons desktop web
+ DEFINES += CONFIG_UNIX_DATA
}
}

View File

@@ -1,64 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
GIT_PN="KikoPlay"
inherit qmake-utils xdg
DESCRIPTION="KikoPlay is a full-featured danmu player"
HOMEPAGE="
https://kikoplay.fun
https://github.com/Protostars/KikoPlay
"
if [[ "${PV}" == "9999" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/Protostars/${GIT_PN}.git"
else
SRC_URI="https://github.com/Protostars/${GIT_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~m68k ~mips ~ppc ~ppc64 ~s390 ~x86"
S="${WORKDIR}/${GIT_PN}-${PV}"
fi
LICENSE="GPL-3"
SLOT="0"
# Please unmask dev-lang/lua:5.3 in /etc/portage/package.unmask/lua
# Waiting for dev-lang/lua:5.3 unmasked in ::gentoo
# With out dev-lang/lua:5.3, this package can't work
# See also: https://github.com/gentoo/guru/issues/9
RDEPEND="
dev-lang/lua:5.3
dev-libs/qhttpengine:5
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtsql:5
dev-qt/qtwidgets:5
media-video/mpv[libmpv,-luajit]
net-misc/aria2
"
DEPEND="
${RDEPEND}
"
BDEPEND="
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}"/${PN}-0.6.2-fix-define.patch # fix define problem
)
src_configure() {
eqmake5 PREFIX="${D}"/usr
}
src_install() {
# Can't use default, set INSTALL_ROOT
emake INSTALL_ROOT="${D}" install
}

View File

@@ -1,60 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
GIT_PN="KikoPlay"
inherit qmake-utils xdg
DESCRIPTION="KikoPlay is a full-featured danmu player"
HOMEPAGE="
https://kikoplay.fun
https://github.com/Protostars/KikoPlay
"
if [[ "${PV}" == "9999" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/Protostars/${GIT_PN}.git"
else
SRC_URI="https://github.com/Protostars/${GIT_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~m68k ~mips ~ppc ~ppc64 ~s390 ~x86"
S="${WORKDIR}/${GIT_PN}-${PV}"
fi
LICENSE="GPL-3"
SLOT="0"
# Please unmask dev-lang/lua:5.3 in /etc/portage/package.unmask/lua
# Waiting for dev-lang/lua:5.3 unmasked in ::gentoo
# With out dev-lang/lua:5.3, this package can't work
# See also: https://github.com/gentoo/guru/issues/9
RDEPEND="
dev-lang/lua:5.3
dev-libs/qhttpengine:5
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtsql:5
dev-qt/qtwidgets:5
media-video/mpv[libmpv,-luajit]
net-misc/aria2
"
DEPEND="
${RDEPEND}
"
BDEPEND="
virtual/pkgconfig
"
src_configure() {
eqmake5 PREFIX="${D}"/usr
}
src_install() {
# Can't use default, set INSTALL_ROOT
emake INSTALL_ROOT="${D}" install
}

View File

@@ -1,5 +1 @@
DIST verilator-4.032.tar.gz 2497830 BLAKE2B eb318e0326be9f72b32bd98f8a6de74516bda4bdf2d21d572c72e92759a4ee64e514fdb3dae20c8bea40e72d493775a02766e7ea619dd8eb541f3450278b0b20 SHA512 2b34d0b6d94babb74b443b3f3ae4e6c9f15423a0b078df72930c4f75b4a831843a4d4b901dc586725a67a49c6f5308402fef4c9ca72b88b13b01746b36d2fb20
DIST verilator-4.034.tar.gz 1998271 BLAKE2B 456ee4c8e7d28dd979f74cd8c6b5e734d33267b5dba1926f82b6827fbc1b2625aafc4f4d088c961be1632957966ab350767f836ed7eee1f1f01b4315f1c8f2b2 SHA512 5651cf2c102df10b3784799968f8e554d0116487a962b99fd03526b71af67cb49c932eaaef260b19cbfc80a47747dd6e8d04b461f663522cd1f05ad9843002d3
DIST verilator-4.036.tar.gz 2064470 BLAKE2B 210d39747e132ce1de8673e971c8765a28eeb23f30902dd032acb67a6d5f9fce2eae8c4edec00b839c6e81ff0985a99e4b065b4a570531f393d47802121eea93 SHA512 2f83bf144346aed4ff6bd208af56ed19cbe562c51324b8dc3243419b63734ff15c805fd6e7d5c2109af9cf51f7d44e249d7f1cc1a383bab428503de317e1d60c
DIST verilator-4.038.tar.gz 2085353 BLAKE2B 330162ed8786b6ac1127e844224ad4a3cfc20e6bc2bbf8f1662ae23e3b18b8b908b145390a2e284ff2b70299b9475d25da7eb23643c70b617d95061c7a4a79c3 SHA512 a963aeccd4bb36a3ac39a5e831ec2600b87c0b46c787fa38900b7bd0ae59fb75dbfaf6261d1050ae1bd29fdb8b0b6a1957f08559c36c498f49738819b4d56d68
DIST verilator-4.040.tar.gz 2094439 BLAKE2B 52303784d0385884280b254bc9a259880184e852a1102d0ad0b1d81490c63a6900789cefc1b3138cdbaec9f35c1593d464355cf58be12a7abb33d9d3c3161648 SHA512 5084b367bddca62df3fe4de1ef8c0c04d02bbf104b433d6caedfd9334659fda323dc4ce650138a3b16e0d9d87fb89453d8fc3fd4f9be298359baf03d986d8e01
DIST verilator-4.100.tar.gz 2113464 BLAKE2B 8f8b0d9f10680cc6763d3588056b6dbd3717f3697ce300d217c8f42636b847b39bc49c9a048e90f47fc87396f401da0dda67d06dc9ef327ab823c6d9cc3d0c60 SHA512 056a863bfbe6221c866f67c9c0c915ff282165d53d8e8f614b04cfed18cbe9ed5082bbcf4c1021ab391d20f5047c0185bc2be59d3e7204bf6cb1d2c48c79da4f

View File

@@ -1,13 +0,0 @@
diff --git a/src/bisonpre b/src/bisonpre
index 39597957..48cf26eb 100755
--- a/src/bisonpre
+++ b/src/bisonpre
@@ -212,6 +212,8 @@ sub clean_output {
$line =~ s!\(YY_\("!(YY_((char*)"!g;
# Fix bison 2.3 glr-parser warning about yyerrorloc.YYTYPE::yydummy uninit
$line =~ s!(YYLTYPE yyerrloc;)!$1 yyerrloc.yydummy=0;/*bisonpre*/!g;
+ # Fix bison 3.6.1 unexpected nested-comment
+ $line =~ s!/\* "/\*.*\*/" \*/!!g;
$fh->write($line);
}
$fh->close;

View File

@@ -1,19 +0,0 @@
diff --git a/src/verilog.y b/src/verilog.y
index 2f16ef23..1175542c 100644
--- a/src/verilog.y
+++ b/src/verilog.y
@@ -301,6 +301,15 @@ class AstSenTree;
// Bison 3.0 and newer
BISONPRE_VERSION(3.0,%define parse.error verbose)
+// We run bison with the -d argument. This tells it to generate a
+// header file with token names. Old versions of bison pasted the
+// contents of that file into the generated source as well; newer
+// versions just include it.
+//
+// Since we run bison through ../bisonpre, it doesn't know the correct
+// header file name, so we need to tell it.
+BISONPRE_VERSION(3.7,%define api.header.include {"V3ParseBison.h"})
+
// When writing Bison patterns we use yTOKEN instead of "token",
// so Bison will error out on unknown "token"s.

View File

@@ -1,49 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit autotools
DESCRIPTION="The fast free Verilog/SystemVerilog simulator"
HOMEPAGE="
https://verilator.org
https://github.com/verilator/verilator
"
if [[ "${PV}" == "9999" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
LICENSE="|| ( Artistic-2 LGPL-3 )"
SLOT="0"
RDEPEND="
dev-lang/perl
sys-libs/zlib
"
DEPEND="
${RDEPEND}
"
BDEPEND="
sys-devel/bison
sys-devel/flex
"
PATCHES=(
# https://github.com/verilator/verilator/issues/2320
"${FILESDIR}"/${PN}-4.034-fix-bison.patch
# https://github.com/verilator/verilator/pull/2505
"${FILESDIR}"/${PN}-4.040-fix-bison.patch
)
src_prepare() {
default
eautoconf --force
}

View File

@@ -1,49 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit autotools
DESCRIPTION="The fast free Verilog/SystemVerilog simulator"
HOMEPAGE="
https://verilator.org
https://github.com/verilator/verilator
"
if [[ "${PV}" == "9999" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
LICENSE="|| ( Artistic-2 LGPL-3 )"
SLOT="0"
RDEPEND="
dev-lang/perl
sys-libs/zlib
"
DEPEND="
${RDEPEND}
"
BDEPEND="
sys-devel/bison
sys-devel/flex
"
PATCHES=(
# https://github.com/verilator/verilator/issues/2320
"${FILESDIR}"/${PN}-4.034-fix-bison.patch
# https://github.com/verilator/verilator/pull/2505
"${FILESDIR}"/${PN}-4.040-fix-bison.patch
)
src_prepare() {
default
eautoconf --force
}

View File

@@ -1,47 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit autotools
DESCRIPTION="The fast free Verilog/SystemVerilog simulator"
HOMEPAGE="
https://verilator.org
https://github.com/verilator/verilator
"
if [[ "${PV}" == "9999" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
LICENSE="|| ( Artistic-2 LGPL-3 )"
SLOT="0"
RDEPEND="
dev-lang/perl
sys-libs/zlib
"
DEPEND="
${RDEPEND}
"
BDEPEND="
sys-devel/bison
sys-devel/flex
"
PATCHES=(
# https://github.com/verilator/verilator/pull/2505
"${FILESDIR}"/${PN}-4.040-fix-bison.patch
)
src_prepare() {
default
eautoconf --force
}

View File

@@ -1,47 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit autotools
DESCRIPTION="The fast free Verilog/SystemVerilog simulator"
HOMEPAGE="
https://verilator.org
https://github.com/verilator/verilator
"
if [[ "${PV}" == "9999" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
LICENSE="|| ( Artistic-2 LGPL-3 )"
SLOT="0"
RDEPEND="
dev-lang/perl
sys-libs/zlib
"
DEPEND="
${RDEPEND}
"
BDEPEND="
sys-devel/bison
sys-devel/flex
"
PATCHES=(
# https://github.com/verilator/verilator/pull/2505
"${FILESDIR}"/${PN}-4.040-fix-bison.patch
)
src_prepare() {
default
eautoconf --force
}

View File

@@ -36,11 +36,6 @@ BDEPEND="
sys-devel/flex
"
PATCHES=(
# https://github.com/verilator/verilator/pull/2505
"${FILESDIR}"/${PN}-4.040-fix-bison.patch
)
src_prepare() {
default
eautoconf --force

View File

@@ -1,2 +1,2 @@
DIST libnvidia-container-1.1.1.tar.gz 145175 BLAKE2B fda6293650fe54b3d142c603c4c69446d16c6551821c76c516d881ba30c7cb867de75f4abc14f25d7fabb2330c27d4d727d835a908121cc0b760a10cc62f1852 SHA512 100574f89744005315d5b3bb012accd4760cbf52ae588317d7277910bf8ddd712b53b2911b92892066a7af133651aacb8513207eae4dd3ad3d6ca34642d2f5ed
DIST libnvidia-container-1.2.0.tar.gz 152533 BLAKE2B fb4c931abf566747bb337d6ce4a6489611248a4828f2e67821ce573c1f3259c47cc735d24f80359de559545c742c37325c3f13209fccc875f9b29fbae0699cca SHA512 75d0d0280c73d4ed830bb4315dc2d6bb8852013a30dfc533429d084ad405b5a56d718cb547d7dd07a4080702afb6bc95a9fa21cf440328e252343aa3eafc13aa
DIST libnvidia-container-1.3.0.tar.gz 155337 BLAKE2B 987433597347d21c14a7c1437d82e45dbf48a6f284810882db44120955fe7fc582038abf1df11a71e76699b4cd30347ac92f22b97d79d15528762321e1147450 SHA512 29df0d04576ff9f425c576dbcd1d80dc85e72c8217dba553c3025c3acc83388c6d3695f26c8c86e6a7cc6a1e1328cc8985161ae4e88d6151379283ed67552bb4

View File

@@ -0,0 +1,567 @@
--- a/src/nvidia-modprobe-utils.c 2020-09-18 18:11:57.042187266 +0800
+++ b/src/nvidia-modprobe-utils.c 2020-09-18 18:25:49.318472815 +0800
@@ -1,3 +1,29 @@
+/*
+ * Copyright (c) 2013, NVIDIA CORPORATION.
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * This file provides utility functions on Linux for loading the
+ * NVIDIA kernel module and creating NVIDIA device files.
+ */
#if defined(NV_LINUX)
@@ -27,9 +53,6 @@
#define NV_NVIDIA_MODULE_NAME "nvidia"
#define NV_PROC_REGISTRY_PATH "/proc/driver/nvidia/params"
-#define NV_NMODULE_NVIDIA_MODULE_NAME "nvidia%d"
-#define NV_NMODULE_PROC_REGISTRY_PATH "/proc/driver/nvidia/%d/params"
-
#define NV_UVM_MODULE_NAME "nvidia-uvm"
#define NV_UVM_DEVICE_NAME "/dev/nvidia-uvm"
#define NV_UVM_TOOLS_DEVICE_NAME "/dev/nvidia-uvm-tools"
@@ -41,12 +64,16 @@
#define NV_NVLINK_MODULE_NAME "nvidia-nvlink"
#define NV_NVLINK_PROC_PERM_PATH "/proc/driver/nvidia-nvlink/permissions"
+#define NV_NVSWITCH_MODULE_NAME "nvidia-nvswitch"
+#define NV_NVSWITCH_PROC_PERM_PATH "/proc/driver/nvidia-nvswitch/permissions"
+
#define NV_DEVICE_FILE_MODE_MASK (S_IRWXU|S_IRWXG|S_IRWXO)
#define NV_DEVICE_FILE_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
#define NV_DEVICE_FILE_UID 0
#define NV_DEVICE_FILE_GID 0
-#define NV_MAKE_DEVICE(x,y) ((dev_t)((x) << 8 | (y)))
+#define NV_MAKE_DEVICE(major, minor) \
+ ((dev_t)((minor & 0xff) | (major << 8) | ((minor & ~0xff) << 12)))
#define NV_MAJOR_DEVICE_NUMBER 195
@@ -55,84 +82,6 @@
#define NV_MIN(a, b) (((a) < (b)) ? (a) : (b))
/*
- * Construct the nvidia kernel module name based on the input
- * module instance provided. If an error occurs, the null
- * terminator will be written to nv_module_name[0].
- */
-static __inline__ void assign_nvidia_kernel_module_name
-(
- char nv_module_name[NV_MAX_MODULE_NAME_SIZE],
- int module_instance
-)
-{
- int ret;
-
- if (is_multi_module(module_instance))
- {
- ret = snprintf(nv_module_name, NV_MAX_MODULE_NAME_SIZE,
- NV_NMODULE_NVIDIA_MODULE_NAME, module_instance);
- }
- else
- {
- ret = snprintf(nv_module_name, NV_MAX_MODULE_NAME_SIZE,
- NV_NVIDIA_MODULE_NAME);
- }
-
- if (ret <= 0)
- {
- goto fail;
- }
-
- nv_module_name[NV_MAX_MODULE_NAME_SIZE - 1] = '\0';
-
- return;
-
-fail:
-
- nv_module_name[0] = '\0';
-}
-
-
-/*
- * Construct the proc registry path name based on the input
- * module instance provided. If an error occurs, the null
- * terminator will be written to proc_path[0].
- */
-static __inline__ void assign_proc_registry_path
-(
- char proc_path[NV_MAX_PROC_REGISTRY_PATH_SIZE],
- int module_instance
-)
-{
- int ret;
-
- if (is_multi_module(module_instance))
- {
- ret = snprintf(proc_path, NV_MAX_PROC_REGISTRY_PATH_SIZE,
- NV_NMODULE_PROC_REGISTRY_PATH, module_instance);
- }
- else
- {
- ret = snprintf(proc_path, NV_MAX_PROC_REGISTRY_PATH_SIZE,
- NV_PROC_REGISTRY_PATH);
- }
-
- if (ret <= 0)
- {
- goto fail;
- }
-
- proc_path[NV_MAX_PROC_REGISTRY_PATH_SIZE - 1] = '\0';
-
- return;
-
-fail:
-
- proc_path[0] = '\0';
-}
-
-
-/*
* Just like strcmp(3), except that differences between '-' and '_' are
* ignored. This is useful for comparing module names, where '-' and '_'
* are supposed to be treated interchangeably.
@@ -370,18 +319,20 @@
return 0;
default:
- if (waitpid(pid, &status, 0) < 0)
- {
- return 0;
- }
- if (WIFEXITED(status) && WEXITSTATUS(status) == 0)
- {
- return 1;
- }
- else
- {
- return 0;
- }
+ /*
+ * waitpid(2) is not always guaranteed to return success even if
+ * the child terminated normally. For example, if the process
+ * explicitly configured the handling of the SIGCHLD signal
+ * to SIG_IGN, then waitpid(2) will instead block until all
+ * children terminate and return the error ECHILD, regardless
+ * of the child's exit codes.
+ *
+ * Hence, ignore waitpid(2) error codes and instead check
+ * whether the desired kernel module is loaded.
+ */
+ waitpid(pid, NULL, 0);
+
+ return is_kernel_module_loaded(module_name);
}
return 1;
@@ -391,13 +342,9 @@
/*
* Attempt to load an NVIDIA kernel module
*/
-int nvidia_modprobe(const int print_errors, int module_instance)
+int nvidia_modprobe(const int print_errors)
{
- char nv_module_name[NV_MAX_MODULE_NAME_SIZE];
-
- assign_nvidia_kernel_module_name(nv_module_name, module_instance);
-
- return modprobe_helper(print_errors, nv_module_name);
+ return modprobe_helper(print_errors, NV_NVIDIA_MODULE_NAME);
}
@@ -447,7 +394,8 @@
{
*mode = value;
}
- if (strcmp(name, "ModifyDeviceFiles") == 0)
+ if ((strcmp(name, "ModifyDeviceFiles") == 0) ||
+ (strcmp(name, "DeviceFileModify") == 0))
{
*modify = value;
}
@@ -456,7 +404,7 @@
fclose(fp);
}
-/*
+/*
* A helper to query device file states.
*/
static int get_file_state_helper(
@@ -494,24 +442,22 @@
return state;
}
-int nvidia_get_file_state(int minor, int module_instance)
+int nvidia_get_file_state(int minor)
{
char path[NV_MAX_CHARACTER_DEVICE_FILE_STRLEN];
- char proc_path[NV_MAX_PROC_REGISTRY_PATH_SIZE];
mode_t mode;
uid_t uid;
gid_t gid;
int modification_allowed;
int state = 0;
- assign_device_file_name(path, minor, module_instance);
- assign_proc_registry_path(proc_path, module_instance);
+ assign_device_file_name(path, minor);
init_device_file_parameters(&uid, &gid, &mode, &modification_allowed,
- proc_path);
+ NV_PROC_REGISTRY_PATH);
state = get_file_state_helper(path, NV_MAJOR_DEVICE_NUMBER, minor,
- proc_path, uid, gid, mode);
+ NV_PROC_REGISTRY_PATH, uid, gid, mode);
return state;
}
@@ -522,8 +468,8 @@
* permissions. Returns 1 if the file is successfully created; returns 0
* if the file could not be created.
*/
-int mknod_helper(int major, int minor, const char *path,
- const char *proc_path)
+static int mknod_helper(int major, int minor, const char *path,
+ const char *proc_path)
{
dev_t dev = NV_MAKE_DEVICE(major, minor);
mode_t mode;
@@ -616,15 +562,13 @@
* Attempt to create a device file with the specified minor number for
* the specified NVIDIA module instance.
*/
-int nvidia_mknod(int minor, int module_instance)
+int nvidia_mknod(int minor)
{
char path[NV_MAX_CHARACTER_DEVICE_FILE_STRLEN];
- char proc_path[NV_MAX_PROC_REGISTRY_PATH_SIZE];
- assign_device_file_name(path, minor, module_instance);
- assign_proc_registry_path(proc_path, module_instance);
+ assign_device_file_name(path, minor);
- return mknod_helper(NV_MAJOR_DEVICE_NUMBER, minor, path, proc_path);
+ return mknod_helper(NV_MAJOR_DEVICE_NUMBER, minor, path, NV_PROC_REGISTRY_PATH);
}
@@ -633,7 +577,7 @@
* device with the specified name. Returns the major number on success,
* or -1 on failure.
*/
-int get_chardev_major(const char *name)
+int nvidia_get_chardev_major(const char *name)
{
int ret = -1;
char line[NV_MAX_LINE_LENGTH];
@@ -702,13 +646,86 @@
return ret;
}
+int nvidia_nvlink_get_file_state(void)
+{
+ char path[NV_MAX_CHARACTER_DEVICE_FILE_STRLEN];
+ mode_t mode;
+ uid_t uid;
+ gid_t gid;
+ int modification_allowed;
+ int ret;
+ int major = nvidia_get_chardev_major(NV_NVLINK_MODULE_NAME);
+
+ if (major < 0)
+ {
+ path[0] = '\0';
+ goto done;
+ }
+
+ ret = snprintf(path, NV_MAX_CHARACTER_DEVICE_FILE_STRLEN,
+ NV_NVLINK_DEVICE_NAME);
+
+ if (ret < 0 || ret >= NV_MAX_CHARACTER_DEVICE_FILE_STRLEN)
+ {
+ path[0] = '\0';
+ }
+
+done:
+
+ init_device_file_parameters(&uid, &gid, &mode, &modification_allowed,
+ NV_NVLINK_PROC_PERM_PATH);
+
+ return get_file_state_helper(path, major, 0,
+ NV_NVLINK_PROC_PERM_PATH, uid, gid, mode);
+}
+
+int nvidia_nvswitch_get_file_state(int minor)
+{
+ char path[NV_MAX_CHARACTER_DEVICE_FILE_STRLEN];
+ mode_t mode;
+ uid_t uid;
+ gid_t gid;
+ int modification_allowed;
+ int ret;
+ int major = nvidia_get_chardev_major(NV_NVSWITCH_MODULE_NAME);
+
+ if ((major < 0) || (minor < 0) || (minor > NV_NVSWITCH_CTL_MINOR))
+ {
+ path[0] = '\0';
+ goto done;
+ }
+
+ if (minor == NV_NVSWITCH_CTL_MINOR)
+ {
+ ret = snprintf(path, NV_MAX_CHARACTER_DEVICE_FILE_STRLEN,
+ NV_NVSWITCH_CTL_NAME);
+ }
+ else
+ {
+ ret = snprintf(path, NV_MAX_CHARACTER_DEVICE_FILE_STRLEN,
+ NV_NVSWITCH_DEVICE_NAME, minor);
+ }
+
+ if (ret < 0 || ret >= NV_MAX_CHARACTER_DEVICE_FILE_STRLEN)
+ {
+ path[0] = '\0';
+ }
+
+done:
+
+ init_device_file_parameters(&uid, &gid, &mode, &modification_allowed,
+ NV_NVSWITCH_PROC_PERM_PATH);
+
+ return get_file_state_helper(path, major, minor,
+ NV_NVSWITCH_PROC_PERM_PATH, uid, gid, mode);
+}
/*
* Attempt to create the NVIDIA Unified Memory device file
*/
int nvidia_uvm_mknod(int base_minor)
{
- int major = get_chardev_major(NV_UVM_MODULE_NAME);
+ int major = nvidia_get_chardev_major(NV_UVM_MODULE_NAME);
if (major < 0)
{
@@ -743,13 +760,9 @@
*/
int nvidia_modeset_mknod(void)
{
- char proc_path[NV_MAX_PROC_REGISTRY_PATH_SIZE];
-
- assign_proc_registry_path(proc_path, NV_MODULE_INSTANCE_NONE);
-
return mknod_helper(NV_MAJOR_DEVICE_NUMBER,
NV_MODESET_MINOR_DEVICE_NUM,
- NV_MODESET_DEVICE_NAME, proc_path);
+ NV_MODESET_DEVICE_NAME, NV_PROC_REGISTRY_PATH);
}
/*
@@ -757,7 +770,7 @@
*/
int nvidia_nvlink_mknod(void)
{
- int major = get_chardev_major(NV_NVLINK_MODULE_NAME);
+ int major = nvidia_get_chardev_major(NV_NVLINK_MODULE_NAME);
if (major < 0)
{
@@ -770,25 +783,164 @@
NV_NVLINK_PROC_PERM_PATH);
}
+/*
+ * Attempt to create the NVIDIA NVSwitch driver device files.
+ */
+int nvidia_nvswitch_mknod(int minor)
+{
+ int major = 0;
+ char name[NV_MAX_CHARACTER_DEVICE_FILE_STRLEN];
+ int ret;
+
+ major = nvidia_get_chardev_major(NV_NVSWITCH_MODULE_NAME);
+
+ if (major < 0)
+ {
+ return 0;
+ }
+
+ if (minor == NV_NVSWITCH_CTL_MINOR)
+ {
+ ret = snprintf(name, NV_MAX_CHARACTER_DEVICE_FILE_STRLEN,
+ NV_NVSWITCH_CTL_NAME);
+ }
+ else
+ {
+ ret = snprintf(name, NV_MAX_CHARACTER_DEVICE_FILE_STRLEN,
+ NV_NVSWITCH_DEVICE_NAME, minor);
+ }
+
+ if (ret < 0 || ret >= NV_MAX_CHARACTER_DEVICE_FILE_STRLEN)
+ {
+ return 0;
+ }
+
+ return mknod_helper(major, minor, name, NV_NVSWITCH_PROC_PERM_PATH);
+}
+
int nvidia_vgpu_vfio_mknod(int minor_num)
{
- int major = get_chardev_major(NV_VGPU_VFIO_MODULE_NAME);
+ int major = nvidia_get_chardev_major(NV_VGPU_VFIO_MODULE_NAME);
char vgpu_dev_name[NV_MAX_CHARACTER_DEVICE_FILE_STRLEN];
- char proc_path[NV_MAX_PROC_REGISTRY_PATH_SIZE];
+ int ret;
if (major < 0)
{
return 0;
}
- assign_proc_registry_path(proc_path, NV_MODULE_INSTANCE_NONE);
-
- snprintf(vgpu_dev_name, NV_MAX_CHARACTER_DEVICE_FILE_STRLEN,
- NV_VGPU_VFIO_DEVICE_NAME, minor_num);
+ ret = snprintf(vgpu_dev_name, NV_MAX_CHARACTER_DEVICE_FILE_STRLEN,
+ NV_VGPU_VFIO_DEVICE_NAME, minor_num);
+ if (ret <= 0)
+ {
+ return 0;
+ }
vgpu_dev_name[NV_MAX_CHARACTER_DEVICE_FILE_STRLEN - 1] = '\0';
- return mknod_helper(major, minor_num, vgpu_dev_name, proc_path);
+ return mknod_helper(major, minor_num, vgpu_dev_name, NV_PROC_REGISTRY_PATH);
+}
+
+int nvidia_cap_get_device_file_attrs(const char* cap_file_path,
+ int *major,
+ int *minor,
+ char *name)
+{
+ char field[32];
+ FILE *fp;
+ int value;
+ int ret;
+
+ *major = nvidia_get_chardev_major(NV_CAPS_MODULE_NAME);
+
+ if (*major < 0)
+ {
+ return 0;
+ }
+
+ fp = fopen(cap_file_path, "r");
+
+ if (fp == NULL)
+ {
+ return 0;
+ }
+
+ *minor = -1;
+
+ while (fscanf(fp, "%31[^:]: %d\n", field, &value) == 2)
+ {
+ field[31] = '\0';
+ if (strcmp(field, "DeviceFileMinor") == 0)
+ {
+ *minor = value;
+ break;
+ }
+ }
+
+ fclose(fp);
+
+ if (*minor < 0)
+ {
+ return 0;
+ }
+
+ ret = snprintf(name, NV_MAX_CHARACTER_DEVICE_FILE_STRLEN,
+ NV_CAP_DEVICE_NAME, *minor);
+
+ if (ret < 0 || ret >= NV_MAX_CHARACTER_DEVICE_FILE_STRLEN)
+ {
+ return 0;
+ }
+
+ return 1;
+}
+
+/*
+ * Attempt to create the NVIDIA capability device files.
+ */
+int nvidia_cap_mknod(const char* cap_file_path, int *minor)
+{
+ int major;
+ char name[NV_MAX_CHARACTER_DEVICE_FILE_STRLEN];
+ int ret;
+
+ ret = nvidia_cap_get_device_file_attrs(cap_file_path, &major, minor, name);
+ if (ret == 0)
+ {
+ return 0;
+ }
+
+ ret = mkdir("/dev/"NV_CAPS_MODULE_NAME, 0755);
+ if ((ret != 0) && (errno != EEXIST))
+ {
+ return 0;
+ }
+
+ return mknod_helper(major, *minor, name, cap_file_path);
+}
+
+int nvidia_cap_get_file_state(const char* cap_file_path)
+{
+ char path[NV_MAX_CHARACTER_DEVICE_FILE_STRLEN];
+ mode_t mode;
+ uid_t uid;
+ gid_t gid;
+ int modification_allowed;
+ int ret;
+ int major;
+ int minor;
+
+ ret = nvidia_cap_get_device_file_attrs(cap_file_path, &major, &minor, path);
+ if (ret == 0)
+ {
+ path[0] = '\0';
+ }
+
+ init_device_file_parameters(&uid, &gid, &mode, &modification_allowed,
+ cap_file_path);
+
+ return get_file_state_helper(path, major, minor,
+ cap_file_path, uid, gid, mode);
}
-#endif /* NV_LINUX */
\ No newline at end of file
+#endif /* NV_LINUX */

View File

@@ -0,0 +1,118 @@
--- a/src/nvidia-modprobe-utils.h 2020-09-18 18:11:57.046187358 +0800
+++ b/src/nvidia-modprobe-utils.h 2020-09-18 23:35:14.062948666 +0800
@@ -31,29 +31,20 @@
#include <stdio.h>
#define NV_MAX_CHARACTER_DEVICE_FILE_STRLEN 128
-#define NV_MODULE_INSTANCE_NONE -1
-#define NV_MODULE_INSTANCE_ZERO 0
-#define NV_MAX_MODULE_INSTANCES 8
#define NV_CTL_DEVICE_NUM 255
#define NV_MODESET_MINOR_DEVICE_NUM 254
-
-#define NV_FRONTEND_CONTROL_DEVICE_MINOR_MAX NV_CTL_DEVICE_NUM
+#define NV_NVSWITCH_CTL_MINOR 255
#define NV_DEVICE_FILE_PATH "/dev/nvidia%d"
#define NV_CTRL_DEVICE_FILE_PATH "/dev/nvidiactl"
#define NV_MODESET_DEVICE_NAME "/dev/nvidia-modeset"
#define NV_VGPU_VFIO_DEVICE_NAME "/dev/nvidia-vgpu%d"
#define NV_NVLINK_DEVICE_NAME "/dev/nvidia-nvlink"
+#define NV_NVSWITCH_CTL_NAME "/dev/nvidia-nvswitchctl"
+#define NV_NVSWITCH_DEVICE_NAME "/dev/nvidia-nvswitch%d"
-#define NV_NMODULE_CTRL_DEVICE_FILE_PATH "/dev/nvidiactl%d"
-
-#define NV_FRONTEND_CONTROL_DEVICE_MINOR_MIN \
- (NV_FRONTEND_CONTROL_DEVICE_MINOR_MAX - \
- NV_MAX_MODULE_INSTANCES)
-
-#define NV_FRONTEND_IS_CONTROL_DEVICE(x) \
- ((x <= NV_FRONTEND_CONTROL_DEVICE_MINOR_MAX) && \
- (x > NV_FRONTEND_CONTROL_DEVICE_MINOR_MIN))
+#define NV_CAPS_MODULE_NAME "nvidia-caps"
+#define NV_CAP_DEVICE_NAME "/dev/" NV_CAPS_MODULE_NAME "/nvidia-cap%d"
#if defined(NV_LINUX)
@@ -76,40 +67,33 @@
return !!(state & (1 << value));
}
-int nvidia_get_file_state(int minor, int module_instance);
-int nvidia_modprobe(const int print_errors, int module_instance);
-int nvidia_mknod(int minor, int module_instance);
+int nvidia_get_file_state(int minor);
+int nvidia_modprobe(const int print_errors);
+int nvidia_mknod(int minor);
int nvidia_uvm_modprobe(void);
int nvidia_uvm_mknod(int base_minor);
int nvidia_modeset_modprobe(void);
int nvidia_modeset_mknod(void);
int nvidia_vgpu_vfio_mknod(int minor_num);
int nvidia_nvlink_mknod(void);
-
-int mknod_helper(int major, int minor, const char *path, const char *proc_path);
-int get_chardev_major(const char *name);
+int nvidia_nvlink_get_file_state(void);
+int nvidia_nvswitch_mknod(int minor);
+int nvidia_nvswitch_get_file_state(int minor);
+int nvidia_cap_mknod(const char* cap_file_path, int *minor);
+int nvidia_cap_get_file_state(const char* cap_file_path);
+int nvidia_cap_get_device_file_attrs(const char* cap_file_path, int *major, int *minor, char *name);
+int nvidia_get_chardev_major(const char *name);
#endif /* NV_LINUX */
/*
- * Detect use of multiple kernel module instances. Use a single
- * module instance unless instance != NV_MODULE_INSTANCE_NONE
- */
-static __inline__ int is_multi_module(int module_instance)
-{
- return (module_instance != NV_MODULE_INSTANCE_NONE);
-}
-
-
-/*
* Construct the device file name, based on 'minor'. If an error
* occurs, the nul terminator will be written to name[0].
*/
static __inline__ void assign_device_file_name
(
char name[NV_MAX_CHARACTER_DEVICE_FILE_STRLEN],
- int minor,
- int module_instance
+ int minor
)
{
int ret;
@@ -119,20 +102,12 @@
goto fail;
}
- if (!is_multi_module(module_instance) && minor == NV_CTL_DEVICE_NUM)
+ if (minor == NV_CTL_DEVICE_NUM)
{
ret = snprintf(name,
NV_MAX_CHARACTER_DEVICE_FILE_STRLEN,
NV_CTRL_DEVICE_FILE_PATH);
}
- else if (is_multi_module(module_instance) &&
- NV_FRONTEND_IS_CONTROL_DEVICE(minor))
- {
- ret = snprintf(name,
- NV_MAX_CHARACTER_DEVICE_FILE_STRLEN,
- NV_NMODULE_CTRL_DEVICE_FILE_PATH,
- module_instance);
- }
else
{
ret = snprintf(name,
@@ -154,4 +129,4 @@
name[0] = '\0';
}
-#endif /* __NVIDIA_MODPROBE_UTILS_H__ */
\ No newline at end of file
+#endif /* __NVIDIA_MODPROBE_UTILS_H__ */

View File

@@ -0,0 +1,11 @@
--- a/src/nvc_info.c 2020-09-16 20:30:14.000000000 +0800
+++ b/src/nvc_info.c 2020-09-18 18:06:55.562176348 +0800
@@ -6,7 +6,7 @@
#include <errno.h>
#include <limits.h>
-#include <nvidia-modprobe-utils.h>
+#include "nvidia-modprobe-utils.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

View File

@@ -0,0 +1,11 @@
--- a/src/nvc_mount.c 2020-09-16 20:30:14.000000000 +0800
+++ b/src/nvc_mount.c 2020-09-18 18:00:17.984906768 +0800
@@ -10,7 +10,7 @@
#include <libgen.h>
#undef basename /* Use the GNU version of basename. */
#include <limits.h>
-#include <nvidia-modprobe-utils.h>
+#include "nvidia-modprobe-utils.h"
#include <stdio.h>
#include <string.h>
#include <sched.h>

View File

@@ -46,4 +46,8 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.1.1-fix-git.patch
"${FILESDIR}"/${PN}-1.1.1-fix-makefile.patch
"${FILESDIR}"/${PN}-1.1.1-fix-nvc.patch
"${FILESDIR}"/${PN}-1.3.0-fix-nvc-info.patch
"${FILESDIR}"/${PN}-1.3.0-fix-nvc-mount.patch
"${FILESDIR}"/${PN}-1.3.0-fix-modprobe-utils-c.patch
"${FILESDIR}"/${PN}-1.3.0-fix-modprobe-utils-h.patch
)

View File

@@ -1 +1 @@
DIST obsidian2-gtk-theme-2.13.tar.gz 877047 BLAKE2B 8d796e30bdb73d0754bac658cc5afa18a835cb59c4842f898843706304137ec67f6d6ba2d94b843dafe92d083d3d2d3e20ff2dc6f00898c0b1448fb0d5ca596d SHA512 42c6023e74ee6fbbff47956aa460250059dd70bc6befdbec7506b0ca0373bc8f8d392b40861508d03285cf9a4c945914c9ba81cf0845d8eb3f195142b6ec4ee6
DIST obsidian2-gtk-theme-2.14.tar.gz 880753 BLAKE2B ec649784b0d5e1dea060aa6581d5ae1ce4dcb442e4d416d3dee46f6a6b3fe6af304bd1ac5fafb6aaeb62f00c5c209b4e58d3736cfb3f3e63ee9c507200f20fb7 SHA512 ba36e17db192b4aeaa6dc4065792e76485527838d20dbef2b9e3f95e33e2b4fa902dc63c112cffc983c0199d497c33ad3f5246d20aaf0f445e9f8ed3465c1121