hwloc: 2.11.1 -> 2.11.2 (#345687)

This commit is contained in:
Markus Kowalewski 2024-10-05 11:53:58 +02:00 committed by GitHub
commit 34367e8465
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,19 +1,27 @@
{ lib, stdenv, fetchurl, pkg-config, expat, ncurses, pciutils, numactl {
, x11Support ? false lib,
, libX11 stdenv,
, cairo fetchurl,
, config pkg-config,
, enableCuda ? config.cudaSupport expat,
, cudaPackages ncurses,
pciutils,
numactl,
x11Support ? false,
libX11,
cairo,
config,
enableCuda ? config.cudaSupport,
cudaPackages,
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "hwloc"; pname = "hwloc";
version = "2.11.1"; version = "2.11.2";
src = fetchurl { src = fetchurl {
url = "https://www.open-mpi.org/software/hwloc/v${lib.versions.majorMinor version}/downloads/hwloc-${version}.tar.bz2"; url = "https://www.open-mpi.org/software/hwloc/v${lib.versions.majorMinor version}/downloads/hwloc-${version}.tar.bz2";
sha256 = "sha256-BM37/60iXOFfZhhPD0FBMn2r8ojRCouE0T9Rest4cMY="; hash = "sha256-9/iP7K4GcQDxoakVtlit0PT3FWEllIKRCmm66iL+hAk=";
}; };
configureFlags = [ configureFlags = [
@ -22,11 +30,17 @@ stdenv.mkDerivation rec {
]; ];
# XXX: libX11 is not directly needed, but needed as a propagated dep of Cairo. # XXX: libX11 is not directly needed, but needed as a propagated dep of Cairo.
nativeBuildInputs = [ pkg-config ] nativeBuildInputs = [ pkg-config ] ++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ];
++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ];
buildInputs = [ expat ncurses ] buildInputs =
++ lib.optionals x11Support [ cairo libX11 ] [
expat
ncurses
]
++ lib.optionals x11Support [
cairo
libX11
]
++ lib.optionals stdenv.hostPlatform.isLinux [ numactl ] ++ lib.optionals stdenv.hostPlatform.isLinux [ numactl ]
++ lib.optionals enableCuda [ cudaPackages.cuda_cudart ]; ++ lib.optionals enableCuda [ cudaPackages.cuda_cudart ];
@ -45,35 +59,44 @@ stdenv.mkDerivation rec {
sed -i "$lib/lib/libhwloc.la" \ sed -i "$lib/lib/libhwloc.la" \
-e "s|-lnuma|-L$numalibdir -lnuma|g" -e "s|-lnuma|-L$numalibdir -lnuma|g"
''; '';
# Checks disabled because they're impure (hardware dependent) and # Checks disabled because they're impure (hardware dependent) and
# fail on some build machines. # fail on some build machines.
doCheck = false; doCheck = false;
outputs = [ "out" "lib" "dev" "doc" "man" ]; outputs = [
"out"
"lib"
"dev"
"doc"
"man"
];
meta = with lib; { meta = {
description = "Portable abstraction of hierarchical architectures for high-performance computing"; description = "Portable abstraction of hierarchical architectures for high-performance computing";
longDescription = '' longDescription = ''
hwloc provides a portable abstraction (across OS, hwloc provides a portable abstraction (across OS,
versions, architectures, ...) of the hierarchical topology of versions, architectures, ...) of the hierarchical topology of
modern architectures, including NUMA memory nodes, sockets, modern architectures, including NUMA memory nodes, sockets,
shared caches, cores and simultaneous multithreading. It also shared caches, cores and simultaneous multithreading. It also
gathers various attributes such as cache and memory gathers various attributes such as cache and memory
information. It primarily aims at helping high-performance information. It primarily aims at helping high-performance
computing applications with gathering information about the computing applications with gathering information about the
hardware so as to exploit it accordingly and efficiently. hardware so as to exploit it accordingly and efficiently.
hwloc may display the topology in multiple convenient hwloc may display the topology in multiple convenient
formats. It also offers a powerful programming interface to formats. It also offers a powerful programming interface to
gather information about the hardware, bind processes, and much gather information about the hardware, bind processes, and much
more. more.
''; '';
# https://www.open-mpi.org/projects/hwloc/license.php # https://www.open-mpi.org/projects/hwloc/license.php
license = licenses.bsd3; license = lib.licenses.bsd3;
homepage = "https://www.open-mpi.org/projects/hwloc/"; homepage = "https://www.open-mpi.org/projects/hwloc/";
maintainers = with maintainers; [ fpletz markuskowa ]; maintainers = with lib.maintainers; [
platforms = platforms.all; fpletz
markuskowa
];
platforms = lib.platforms.all;
}; };
} }