Skip to content

Commit

Permalink
sys-libs/libnvme: Add from Gentoo
Browse files Browse the repository at this point in the history
It's from Gentoo commit e6ea91a290528b5757a1060ced8c585303115596.
  • Loading branch information
sayanchowdhury committed May 17, 2023
1 parent 64bbda5 commit 3a65ccc
Show file tree
Hide file tree
Showing 6 changed files with 266 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
DIST libnvme-1.2.tar.gz 484397 BLAKE2B ae6b1c3aa8f45594219470059cfc8982674433772f89faab1659811d860036f8af89bbcb383db37e96b763188935d2c1ecaa5176b8140bba50f8ea226e989a06 SHA512 f50517838cd1df3cdd123afdb67870633e9e484bf84dba70b784d7e86ecb355b96ba9d6a1cffb96b35444da7870dfe21c54b69701b5fe5b515319280db4a84e4
DIST libnvme-1.3.tar.gz 499870 BLAKE2B 5a019c12829890a0fe0b5e6aec5fbd009fc3bd6dfe7e81f61731292f4ea8b03044e7625491479350c399cc8cd5bc023e02cc9e93f1eba38f4c747667e84cfb24 SHA512 c874b29b73e55be842f71e74a226a76fcd50dfa72e2be100f0437bc83e740cd146b6d2f2cdaa940c11c3d8c48ff2c065ac0e8a83d4d0dde743edf4179f328670
DIST libnvme-1.4.tar.gz 506101 BLAKE2B c1496c6258bf20ed4109710b06671fa7f0e27c7649520ad8ccf4021df00fffc45f80fea248d62d2b85eecc8b15b6afaf4a113d96d6737ae6772346c9d0bc1002 SHA512 cc4a0a78083471e912736d76e4faaa5c285e1149029560f212ff06254863e8f21b48fcb1638599bd68efcf888312a248fb748d23776af03574b39fbd9b2a418d
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
https://github.com/linux-nvme/libnvme/commit/ddfb3ba036f9df2737c165b27f9b458dd83a7df8

From ddfb3ba036f9df2737c165b27f9b458dd83a7df8 Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Tue, 31 Jan 2023 23:27:53 +0100
Subject: [PATCH] build: Fix nss code snippet includes

With hardened distribution CFLAGS the meson code snippet wouldn't compile:

Compiler stderr:
.build/meson-private/tmpy2z1t5q4/testfile.c: In function 'main':
.build/meson-private/tmpy2z1t5q4/testfile.c:2:30: error: storage size of 'hints' isn't known
2 | struct addrinfo hints, *result;
| ^~~~~
.build/meson-private/tmpy2z1t5q4/testfile.c:3:21: warning: implicit declaration of function 'getaddrinfo' [-Wimplicit-function-declaration]
3 | return getaddrinfo(argv[1], argv[2], &hints, &result);
| ^~~~~~~~~~~
--- a/meson.build
+++ b/meson.build
@@ -199,7 +199,10 @@ conf.set10(
conf.set(
'HAVE_LIBNSS',
cc.links(
- '''int main(int argc, char **argv) {
+ '''#include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netdb.h>
+ int main(int argc, char **argv) {
struct addrinfo hints, *result;
return getaddrinfo(argv[1], argv[2], &hints, &result);
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

PYTHON_COMPAT=( python3_{9..11} )
inherit python-r1 meson

DESCRIPTION="C Library for NVM Express on Linux"
HOMEPAGE="https://github.com/linux-nvme/libnvme"
LICENSE="LGPL-2.1+"
SLOT="0"
IUSE="+json python ssl +uuid"

SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86"

DEPEND="
json? ( dev-libs/json-c:= )
python? ( ${PYTHON_DEPS} )
ssl? ( >=dev-libs/openssl-1.1:= )
uuid? ( sys-apps/util-linux:= )
"
RDEPEND="${DEPEND}"

BDEPEND="
dev-lang/swig
"

REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
"

src_configure() {
local emesonargs=(
-Dpython=false
)
meson_src_configure
}

python_compile() {
local emesonargs=(
-Dpython=true
)
meson_src_configure --reconfigure
meson_src_compile
}

src_compile() {
meson_src_compile

if use python; then
python_copy_sources
python_foreach_impl python_compile
fi
}

python_install() {
meson_src_install
use python && python_optimize
}

src_install() {
use python && python_foreach_impl python_install

meson_src_install
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

PYTHON_COMPAT=( python3_{9..11} )
inherit python-r1 meson

DESCRIPTION="C Library for NVM Express on Linux"
HOMEPAGE="https://github.com/linux-nvme/libnvme"
LICENSE="LGPL-2.1+"
SLOT="0"
IUSE="dbus python ssl +uuid"

SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86"

DEPEND="
dev-libs/json-c:=
dbus? ( sys-apps/dbus:= )
python? ( ${PYTHON_DEPS} )
ssl? ( >=dev-libs/openssl-1.1:= )
uuid? ( sys-apps/util-linux:= )
"
RDEPEND="${DEPEND}"

BDEPEND="
dev-lang/swig
"

REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
"

PATCHES=(
"${FILESDIR}"/${P}-configure-clang-16.patch
)

src_configure() {
local emesonargs=(
-Dpython=false
$(meson_feature ssl openssl)
$(meson_feature dbus libdbus)
$(meson_use python)
)
meson_src_configure
}

python_compile() {
local emesonargs=(
-Dpython=true
)
meson_src_configure --reconfigure
meson_src_compile
}

src_compile() {
meson_src_compile

if use python; then
python_copy_sources
python_foreach_impl python_compile
fi
}

python_install() {
meson_src_install
use python && python_optimize
}

src_install() {
use python && python_foreach_impl python_install

meson_src_install
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

PYTHON_COMPAT=( python3_{9..11} )
inherit python-r1 meson

DESCRIPTION="C Library for NVM Express on Linux"
HOMEPAGE="https://github.com/linux-nvme/libnvme"
LICENSE="LGPL-2.1+"
SLOT="0/1"
IUSE="dbus +json keyutils python ssl +uuid"

SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"

DEPEND="
json? ( dev-libs/json-c:= )
keyutils? ( sys-apps/keyutils:= )
dbus? ( sys-apps/dbus:= )
python? ( ${PYTHON_DEPS} )
ssl? ( >=dev-libs/openssl-1.1:= )
uuid? ( sys-apps/util-linux:= )
"
RDEPEND="${DEPEND}"

BDEPEND="
dev-lang/swig
"

REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
"

src_configure() {
local emesonargs=(
-Dpython=false
$(meson_feature json json-c)
$(meson_feature dbus libdbus)
$(meson_feature ssl openssl)
$(meson_feature python)
)
meson_src_configure
}

python_compile() {
local emesonargs=(
-Dpython=enabled
)
meson_src_configure --reconfigure
meson_src_compile
}

src_compile() {
meson_src_compile

if use python; then
python_copy_sources
python_foreach_impl python_compile
fi
}

python_install() {
meson_src_install
use python && python_optimize
}

src_install() {
use python && python_foreach_impl python_install

meson_src_install
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
<use>
<flag name="json">Support JSON output via <pkg>dev-libs/json-c</pkg></flag>
<flag name="keyutils">Add support for <pkg>sys-apps/keyutils</pkg></flag>
<flag name="uuid">UUID support via <pkg>sys-apps/util-linux</pkg></flag>
</use>
<upstream>
<remote-id type="github">linux-nvme/libnvme</remote-id>
</upstream>
</pkgmetadata>

0 comments on commit 3a65ccc

Please sign in to comment.