sys-apps/nvme-cli: Sync with Gentoo

It's from Gentoo commit 074dc80f8dbe853ae712c451f853bb67821ba370.
This commit is contained in:
Flatcar Buildbot 2023-07-03 07:18:18 +00:00 committed by Krzesimir Nowak
parent 293c01121e
commit 19374a2769
3 changed files with 89 additions and 0 deletions

View File

@ -1,3 +1,4 @@
DIST nvme-cli-2.2.1.gh.tar.gz 706199 BLAKE2B e0026fc2ee3edeffa18b0fc8365703e3de6f69cdd665878e8589fefa334ddb78f3fdf2768bd5a141dc27b0a7403d0fd7472db763e7e41b55a3cac314105faac3 SHA512 8efa94d49a4d443cdb0310386733e88117f17719b05044f11e63e2a09143fce55918171b457a467371263ebb2e36552558aad249ae4dbd27941af79fe9722e26 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.3.gh.tar.gz 733161 BLAKE2B b6da650379f24e0dc5c41af3d09fe15076ed70ad39cf48060fd949e3a4bbfe896eef4dd42e27314fab695710c9cb04985f3444e0384b71794cfbf489aa3e6244 SHA512 9ef654e782ba737d3858fb11f24caf27aea820480179d07d32599731be204e52693062cdb86786ab5cdd1d94fe32ae9028baa0a58693d2eaee5a2b71155e3db2
DIST nvme-cli-2.4.gh.tar.gz 746955 BLAKE2B 7ca26f957bf6927f7af17ac18267cb1099d63ce0f19b085a412b3a1b343946311edf8c5d5924444b7c7d440fbf42597ee7b9717bf9f5dcdeed0a9a17f135d343 SHA512 155667a0b91e15267e3f991a30cf1d4ae26cb4c53b20c002e3d3341496dd463397e1afbfefcd7a8df88370d28417940ce44a060bda87c04482bbe3be4e901b73 DIST nvme-cli-2.4.gh.tar.gz 746955 BLAKE2B 7ca26f957bf6927f7af17ac18267cb1099d63ce0f19b085a412b3a1b343946311edf8c5d5924444b7c7d440fbf42597ee7b9717bf9f5dcdeed0a9a17f135d343 SHA512 155667a0b91e15267e3f991a30cf1d4ae26cb4c53b20c002e3d3341496dd463397e1afbfefcd7a8df88370d28417940ce44a060bda87c04482bbe3be4e901b73
DIST nvme-cli-2.5.gh.tar.gz 794528 BLAKE2B 4e569c612d98a369d9ef720b74fbd50e6bd0b425725593bac2c06966d693cb0c86e034d571d24b17c12bce39467973280d440c1fb5cc3dccdb6c0d112507feab SHA512 50c557e86e95b27a0ad57779c33bbb847e12dd45c30e792f5ce1d52dedd4bc704ac25fa0af2fdebd281c9dfe0059f7ed7c1620fccfde9323f6f9a97afdf8c3cb

View File

@ -0,0 +1,30 @@
diff --git a/meson.build b/meson.build
index af79bd4d..90c4d6ad 100644
--- a/meson.build
+++ b/meson.build
@@ -69,9 +69,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)
else
libhugetlbfs_dep = dependency('', required: false)
endif
diff --git a/meson_options.txt b/meson_options.txt
index c61dae0f..a05a7e0f 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -70,3 +70,9 @@ option(
type : 'string',
description : 'override the git version string'
)
+option(
+ 'hugepages',
+ type: 'boolean',
+ value : false,
+ description : 'Enable support for hugetlbfs'
+)

View File

@ -0,0 +1,58 @@
# 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.5*:=[json?]
hugepages? ( sys-libs/libhugetlbfs:= )
json? ( dev-libs/json-c:= )
sys-libs/zlib:=
"
DEPEND="
${RDEPEND}
"
BDEPEND="
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}/nvme-cli-2.5-no-hugetlbfs-automatic-dep.patch"
)
src_configure() {
local emesonargs=(
-Dversion-tag="${PV}"
-Ddocs=all
-Dhtmldir="${EPREFIX}/usr/share/doc/${PF}/html"
-Dsystemddir="$(systemd_get_systemunitdir)"
-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
$(meson_use hugepages)
$(meson_feature json json-c)
)
meson_src_configure
}
src_install() {
meson_src_install
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}