librsb: init at 1.2.0.9

This commit is contained in:
Karl Hallsby 2021-01-17 10:59:20 -06:00
parent 2fbc36f3d8
commit df310bb165
2 changed files with 91 additions and 0 deletions

View file

@ -0,0 +1,86 @@
{ lib, stdenv, fetchurl
, gfortran
, pkg-config, libtool
, m4, gnum4
, file
# Memory Hierarchy (End-user can provide this.)
, memHierarchy ? ""
# Headers/Libraries
, blas, zlib
# RPC headers (rpc/xdr.h)
, openmpi
, help2man
, doxygen
, octave
}:
stdenv.mkDerivation rec {
pname = "librsb";
version = "1.2.0.9";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
sha256 = "1ynrsgnvv1jfm8dv3jwjrip9x9icxv7w3qrk149025j6fbaza8gl";
};
# The default configure flags are still present when building
# --disable-static --disable-dependency-tracking
# Along with the --prefix=... flag (but we want that one).
configureFlags = [
"--enable-static"
"--enable-doc-build"
"--enable-octave-testing"
"--enable-sparse-blas-interface"
"--enable-fortran-module-install"
"--enable-pkg-config-install"
"--enable-matrix-types=all"
"--with-zlib=${zlib}/lib/libz.so"
"--with-memhinfo=${memHierarchy}"
];
# Ensure C/Fortran code is position-independent.
NIX_CFLAGS_COMPILE = [ "-fPIC" "-Ofast" ];
FCFLAGS = [ "-fPIC" "-Ofast" ];
enableParallelBuilding = true;
nativeBuildInputs = [
gfortran
pkg-config libtool
m4 gnum4
file
blas zlib
openmpi
octave
help2man # Turn "--help" into a man-page
doxygen # Build documentation
];
# Need to run cleanall target to remove any previously-generated files.
preBuild = ''
make cleanall
'';
checkInputs = [
octave
];
checkTarget = "tests";
meta = with lib; {
homepage = "http://librsb.sourceforge.net/";
description = "Shared memory parallel sparse matrix and sparse BLAS library";
longDescription = ''
Library for sparse matrix computations featuring the Recursive Sparse
Blocks (RSB) matrix format. This format allows cache efficient and
multi-threaded (that is, shared memory parallel) operations on large
sparse matrices.
librsb implements the Sparse BLAS standard, as specified in the BLAS
Forum documents.
Contains libraries and header files for developing applications that
want to make use of librsb.
'';
license = with licenses; [ lgpl3Plus ];
maintainers = with maintainers; [ KarlJoad ];
platforms = platforms.all;
};
}

View file

@ -14860,6 +14860,11 @@ in
librime = callPackage ../development/libraries/librime {};
librsb = callPackage ../development/libraries/librsb {
# Taken from https://build.opensuse.org/package/view_file/science/librsb/librsb.spec
memHierarchy = "L3:16/64/8192K,L2:16/64/2048K,L1:8/64/16K";
};
librtprocess = callPackage ../development/libraries/librtprocess { };
libsamplerate = callPackage ../development/libraries/libsamplerate {