summaryrefslogtreecommitdiff
path: root/sys-apps/nvme-cli
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/nvme-cli')
-rw-r--r--sys-apps/nvme-cli/Manifest3
-rw-r--r--sys-apps/nvme-cli/files/nvme-cli-2.4-no-hugetlbfs-automatic-dep.patch25
-rw-r--r--sys-apps/nvme-cli/nvme-cli-2.4.ebuild52
3 files changed, 80 insertions, 0 deletions
diff --git a/sys-apps/nvme-cli/Manifest b/sys-apps/nvme-cli/Manifest
index 2d9f56559cb6..440d38654b63 100644
--- a/sys-apps/nvme-cli/Manifest
+++ b/sys-apps/nvme-cli/Manifest
@@ -1,7 +1,10 @@
AUX nvme-cli-2.2-docdir.patch 552 BLAKE2B 9edb2b884ff26a227c90f13ad9e7a110c284bca27c72fe06346587aa799d7c32c0820a49b565a3c2e77dd5b5a024ad346b2f6c71bee32d10bcdc9329abe81d79 SHA512 c865d1374ebe321b5a1c36f8d0b71965521d19e5f6ab50e0977776768f8cc4a104eb7ca5ad2a07a94865d60b2fbd6618fa1744058c66e3dc65d42bed6105e10d
AUX nvme-cli-2.3-no-hugetlbfs-automatic-dep.patch 1273 BLAKE2B bcf9dccfcda5bad06bfc5ffa06dcc489b944f88749d039b80f92d3374186a74162cdc945db2c36213569db633e09ce7e9cf632129db9dc651946603de0c3de07 SHA512 06200151f3177b944c66b36433e5c5538ae5ee451019ef06730d5c6b2a4ca56cd379789ebb8b10db97f36362aab17e11e88238028f1feef3485d4297cd3f70c8
+AUX nvme-cli-2.4-no-hugetlbfs-automatic-dep.patch 1228 BLAKE2B 3d0bf5421456d28a296ae6a4934bed8b095c9593fbf89e46fd6d5680adc3784ac4ac057cf5af2fc0439ba049ebc546a6ba50217dce64d36c687626d8286ad8c7 SHA512 5be0ef69eecad65c50aafeabca0a664d7a4a7c5b671563194763608ba600aad4ef865f46799272899d6aea59cb07f745b182bff6961832c2bdd439e24f4cbb1b
DIST nvme-cli-2.2.1.gh.tar.gz 706199 BLAKE2B e0026fc2ee3edeffa18b0fc8365703e3de6f69cdd665878e8589fefa334ddb78f3fdf2768bd5a141dc27b0a7403d0fd7472db763e7e41b55a3cac314105faac3 SHA512 8efa94d49a4d443cdb0310386733e88117f17719b05044f11e63e2a09143fce55918171b457a467371263ebb2e36552558aad249ae4dbd27941af79fe9722e26
DIST nvme-cli-2.3.gh.tar.gz 733161 BLAKE2B b6da650379f24e0dc5c41af3d09fe15076ed70ad39cf48060fd949e3a4bbfe896eef4dd42e27314fab695710c9cb04985f3444e0384b71794cfbf489aa3e6244 SHA512 9ef654e782ba737d3858fb11f24caf27aea820480179d07d32599731be204e52693062cdb86786ab5cdd1d94fe32ae9028baa0a58693d2eaee5a2b71155e3db2
+DIST nvme-cli-2.4.gh.tar.gz 746955 BLAKE2B 7ca26f957bf6927f7af17ac18267cb1099d63ce0f19b085a412b3a1b343946311edf8c5d5924444b7c7d440fbf42597ee7b9717bf9f5dcdeed0a9a17f135d343 SHA512 155667a0b91e15267e3f991a30cf1d4ae26cb4c53b20c002e3d3341496dd463397e1afbfefcd7a8df88370d28417940ce44a060bda87c04482bbe3be4e901b73
EBUILD nvme-cli-2.2.1.ebuild 973 BLAKE2B 0fce7c3f1c44b4ac5028132030db755dd99ab26ca30d5bbd30d7252ade6714c761d49b492d3ee3ff3baf41939ce52e17d7ea6091e4ad92cdde1def4977b6024f SHA512 86f0841abd19ec017b6c2c516333a25983997318309f3622a49e097427ae8934e607b194d81b08d6fbef1f0aa19c960d9bf63394adefb7f7e34f1a4f13a085ef
EBUILD nvme-cli-2.3.ebuild 1037 BLAKE2B 08a39f38cc948b42bb211fc42096867f8c499ca2593591dc34b228f57a413c7152af41565fde2479a9ea06e78f494ed7d85ba458220fb16f2425c589c6904095 SHA512 5e4474d93ecd183a0f84ee05440a55ba5bafe0da5b8586b9f5a8ade720aea83ac78e462599dff2b2405d5fe7ef54592647ad2cd898c56be59384b07042707b21
+EBUILD nvme-cli-2.4.ebuild 1108 BLAKE2B 99c0755266898c6466d9351a738efcd96aa58c38143568f4fd82846b58888c914b5a3381de5ae06b6c03e56df7db36d0f0dca0c3ca8b7469f49a1f4e52387cc0 SHA512 3505834379b3983aaaf2e41b28e80110dff27f6cfac7c1020dd6435337cfe815cae73e542319909aac3d11223da75ffaed0c95d1eb025b8158a248620211331f
MISC metadata.xml 542 BLAKE2B ec93d6395b76ed201e05ec98e5813f025e74e8afa849084b664faa6c9dc03a8f8237cdb2fec5675db7cc70575b8c07383470d4f3d36b595980bcffdac83d2708 SHA512 ba2ed3173808235a4567152d23836f9828c345e8e716781ee5b7c1aeaa0053ff36ffd85ac12686302af10b1bd02a61e061446e4e1cb2600ce00da3bb1d72b6ee
diff --git a/sys-apps/nvme-cli/files/nvme-cli-2.4-no-hugetlbfs-automatic-dep.patch b/sys-apps/nvme-cli/files/nvme-cli-2.4-no-hugetlbfs-automatic-dep.patch
new file mode 100644
index 000000000000..d39f95826aae
--- /dev/null
+++ b/sys-apps/nvme-cli/files/nvme-cli-2.4-no-hugetlbfs-automatic-dep.patch
@@ -0,0 +1,25 @@
+diff --git a/meson.build b/meson.build
+index 24fa16e2..fc3ef0d7 100644
+--- a/meson.build
++++ b/meson.build
+@@ -66,9 +66,9 @@ endif
+ conf.set('CONFIG_JSONC', json_c_dep.found(), description: 'Is json-c available?')
+
+ # Check for libhugetlbfs availability (optional)
+-if cc.has_header('hugetlbfs.h')
++if get_option('hugepages') and cc.has_header('hugetlbfs.h')
+ libhugetlbfs_dep = cc.find_library('hugetlbfs',
+- required : false)
++ required : true)
+ have_libhugetlbfs = libhugetlbfs_dep.found()
+ else
+ libhugetlbfs_dep = []
+diff --git a/meson_options.txt b/meson_options.txt
+index 677942ae..752ecd40 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -10,3 +10,4 @@ option('docs', type : 'combo', choices : ['false', 'html', 'man', 'all'], descri
+ option('docs-build', type : 'boolean', value : false, description : 'build documentation')
+ option('pdc-enabled', type: 'boolean', value : false, description : 'set default Persistent Discovery Controllers behavior')
+ option('json-c', type: 'feature', value: 'auto', description: 'JSON suppport')
++option('hugepages', type: 'boolean', value : false, description : 'Enable support for hugetlbfs')
diff --git a/sys-apps/nvme-cli/nvme-cli-2.4.ebuild b/sys-apps/nvme-cli/nvme-cli-2.4.ebuild
new file mode 100644
index 000000000000..d76bb8ffda6f
--- /dev/null
+++ b/sys-apps/nvme-cli/nvme-cli-2.4.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson systemd udev
+
+DESCRIPTION="NVM-Express user space tooling for Linux"
+HOMEPAGE="https://github.com/linux-nvme/nvme-cli"
+SRC_URI="https://github.com/linux-nvme/nvme-cli/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="GPL-2 GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="hugepages +json"
+
+RDEPEND="
+ =sys-libs/libnvme-1.4*:=
+ hugepages? ( sys-libs/libhugetlbfs:= )
+ json? ( dev-libs/json-c:= )
+ sys-libs/zlib:=
+"
+
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/nvme-cli-2.2-docdir.patch"
+ "${FILESDIR}/nvme-cli-2.4-no-hugetlbfs-automatic-dep.patch"
+)
+
+src_configure() {
+ local unitdir="$(systemd_get_systemunitdir)"
+ local emesonargs=(
+ -Dversion-tag="${PV}"
+ -Ddocs=all
+ -Dhtmldir="${EPREFIX}/usr/share/doc/${P}/html"
+ -Dsystemddir="${unitdir%/system}"
+ -Dudevrulesdir="${EPREFIX}$(get_udevdir)"
+ $(meson_use hugepages)
+ $(meson_feature json json-c)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+}