[Bug 262032] [NEW PORT] devel/xnvme: Cross-platform libraries and tools for NVMe devices

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 20 Nov 2023 16:58:11 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262032

Robert Clausecker <fuz@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|ports-bugs@FreeBSD.org      |fuz@FreeBSD.org

--- Comment #12 from Robert Clausecker <fuz@FreeBSD.org> ---
Thank you for the update.

Testing with Poudriere, I find that the build immediately fails as your port
depends on Python but does not declare that it does:

===>  Configuring for xnvme-0.7.2
WARNING: Recommend using either -Dbuildtype or -Doptimization + -Ddebug. Using
both is redundant since they override each other. See:
https://mesonbuild.com/Builtin-options.html#build-type-options
The Meson build system
Version: 1.2.3
Source dir: /wrkdirs/usr/ports/sysutils/xnvme/work/xnvme-0.7.2
Build dir: /wrkdirs/usr/ports/sysutils/xnvme/work/xnvme-0.7.2/_build
Build type: native build
Project name: xnvme
Project version: 0.7.2
C compiler for the host machine: cc (clang 14.0.5 "FreeBSD clang version 14.0.5
(https://github.com/llvm/llvm-project.git llvmorg-14.0.5-0-gc12386ae247c)")
C linker for the host machine: cc ld.lld 14.0.5
Host machine cpu family: aarch64
Host machine cpu: aarch64
Message: host_machine.system: freebsd
Compiler for C supports arguments -Wno-missing-braces: YES 
Compiler for C supports arguments -Wno-cast-function-type: YES 
Compiler for C supports arguments -Wno-strict-aliasing: YES 
Program python3 found: NO

meson.build:49:31: ERROR: python3 not found

A full log can be found at
/wrkdirs/usr/ports/sysutils/xnvme/work/xnvme-0.7.2/_build/meson-logs/meson-log.txt
WARNING: Running the setup command as `meson [options]` instead of `meson setup
[options]` is ambiguous and deprecated.
===>  Script "configure" failed unexpectedly.

I think this is because you hard code

    prog_python = import('python').find_installation('python3')

whereas we name the binary something like python3.9 or similar depending on the
exact version of Python used.  The environment variable PYTHON is set to the
name of the Python interpreter when the build is configured.  To fix this, it
should suffice to just patch that line in meson.build to

    prog_python = import('python').find_installation()

If I add this patch, the port builds fine.  Are you ok with me doing so when
checking in the package?

-- 
You are receiving this mail because:
You are the assignee for the bug.