mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-18 07:46:09 +01:00
Merge pull request #112264 from KarlJoad/librsb
librsb: init at 1.2.0.9
This commit is contained in:
commit
e6a5cc97e7
2 changed files with 91 additions and 0 deletions
86
pkgs/development/libraries/librsb/default.nix
Normal file
86
pkgs/development/libraries/librsb/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -15330,6 +15330,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 {
|
||||
|
|
Loading…
Reference in a new issue