commit: 70e20951a2b238b4cb6be14671dba5c021459242
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 31 19:12:48 2023 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Mar 31 19:13:05 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70e20951
sys-apps/nvme-cli: add 2.4
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-apps/nvme-cli/Manifest | 1 +
.../nvme-cli-2.4-no-hugetlbfs-automatic-dep.patch | 25 +++++++++++
sys-apps/nvme-cli/nvme-cli-2.4.ebuild | 52 ++++++++++++++++++++++
3 files changed, 78 insertions(+)
diff --git a/sys-apps/nvme-cli/Manifest b/sys-apps/nvme-cli/Manifest
index f7b97d36e74c..75d7799d2845 100644
--- a/sys-apps/nvme-cli/Manifest
+++ b/sys-apps/nvme-cli/Manifest
@@ -1,2 +1,3 @@
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
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
+}