Merge pull request #145411 from SuperSandro2000/libs

This commit is contained in:
Sandro 2021-11-13 13:21:16 +01:00 committed by GitHub
commit 6416f7aa6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 70 additions and 75 deletions

View File

@ -3,7 +3,7 @@
, lib
, gfortran
, perl
, llvmPackages ? null
, llvmPackages
, precision ? "double"
, enableAvx ? stdenv.hostPlatform.avxSupport
, enableAvx2 ? stdenv.hostPlatform.avx2Support
@ -11,56 +11,50 @@
, enableFma ? stdenv.hostPlatform.fmaSupport
, enableMpi ? false
, mpi
, withDoc ? stdenv.cc.isGNU
}:
with lib;
assert stdenv.cc.isClang -> llvmPackages != null;
assert elem precision [ "single" "double" "long-double" "quad-precision" ];
assert lib.elem precision [ "single" "double" "long-double" "quad-precision" ];
let
stdenv.mkDerivation rec {
pname = "fftw-${precision}";
version = "3.3.9";
withDoc = stdenv.cc.isGNU;
in
stdenv.mkDerivation {
name = "fftw-${precision}-${version}";
src = fetchurl {
urls = [
"http://fftw.org/fftw-${version}.tar.gz"
"https://fftw.org/fftw-${version}.tar.gz"
"ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz"
];
sha256 = "sha256-vyx85AsEroEa9xTetRJRDMLBe5q51t3PSf5Eh+6nrz0=";
};
outputs = [ "out" "dev" "man" ]
++ optional withDoc "info"; # it's dev-doc only
++ lib.optional withDoc "info"; # it's dev-doc only
outputBin = "dev"; # fftw-wisdom
nativeBuildInputs = [ gfortran ];
buildInputs = optionals stdenv.cc.isClang [
buildInputs = lib.optionals stdenv.cc.isClang [
# TODO: This may mismatch the LLVM version sin the stdenv, see #79818.
llvmPackages.openmp
] ++ optional enableMpi mpi;
] ++ lib.optional enableMpi mpi;
configureFlags =
[ "--enable-shared"
"--enable-threads"
]
++ optional (precision != "double") "--enable-${precision}"
configureFlags = [
"--enable-shared"
"--enable-threads"
"--enable-openmp"
] ++ lib.optional (precision != "double") "--enable-${precision}"
# all x86_64 have sse2
# however, not all float sizes fit
++ optional (stdenv.isx86_64 && (precision == "single" || precision == "double") ) "--enable-sse2"
++ optional enableAvx "--enable-avx"
++ optional enableAvx2 "--enable-avx2"
++ optional enableAvx512 "--enable-avx512"
++ optional enableFma "--enable-fma"
++ [ "--enable-openmp" ]
++ optional enableMpi "--enable-mpi"
++ lib.optional (stdenv.isx86_64 && (precision == "single" || precision == "double") ) "--enable-sse2"
++ lib.optional enableAvx "--enable-avx"
++ lib.optional enableAvx2 "--enable-avx2"
++ lib.optional enableAvx512 "--enable-avx512"
++ lib.optional enableFma "--enable-fma"
++ lib.optional enableMpi "--enable-mpi"
# doc generation causes Fortran wrapper generation which hard-codes gcc
++ optional (!withDoc) "--disable-doc";
++ lib.optional (!withDoc) "--disable-doc";
enableParallelBuilding = true;

View File

@ -10,13 +10,11 @@ stdenv.mkDerivation rec {
buildInputs = [ ncurses libiconv ];
buildPhase = ''
preBuild = ''
sed -i s/gcc/cc/g Makefile
sed -i s%ncursesw/ncurses.h%ncurses.h% stfl_internals.h
'' + ( lib.optionalString stdenv.isDarwin ''
'' + lib.optionalString stdenv.isDarwin ''
sed -i s/-soname/-install_name/ Makefile
'' ) + ''
make
'';
installPhase = ''
@ -26,11 +24,11 @@ stdenv.mkDerivation rec {
ln -s $out/lib/libstfl.so.0.24 $out/lib/libstfl.so.0
'';
meta = {
meta = with lib; {
homepage = "http://www.clifford.at/stfl/";
description = "A library which implements a curses-based widget set for text terminals";
maintainers = with lib.maintainers; [ lovek323 ];
license = lib.licenses.lgpl3;
platforms = lib.platforms.unix;
maintainers = with maintainers; [ lovek323 ];
license = licenses.lgpl3;
platforms = platforms.unix;
};
}

View File

@ -1,20 +1,19 @@
{ lib, stdenv, fetchurl, cmake, qtbase, pkg-config, python3Packages, dbus-glib, dbus
{ lib, stdenv, fetchurl, cmake, qtbase, pkg-config, python3, dbus-glib, dbus
, telepathy-farstream, telepathy-glib }:
let
inherit (python3Packages) python dbus-python;
in stdenv.mkDerivation rec {
name = "telepathy-qt-0.9.8";
stdenv.mkDerivation rec {
pname = "telepathy-qt";
version = "0.9.8";
src = fetchurl {
url = "https://telepathy.freedesktop.org/releases/telepathy-qt/${name}.tar.gz";
url = "https://telepathy.freedesktop.org/releases/telepathy-qt/telepathy-qt-${version}.tar.gz";
sha256 = "bf8e2a09060addb80475a4938105b9b41d9e6837999b7a00e5351783857e18ad";
};
nativeBuildInputs = [ cmake pkg-config python ];
nativeBuildInputs = [ cmake pkg-config python3 ];
propagatedBuildInputs = [ qtbase telepathy-farstream telepathy-glib ];
buildInputs = [ dbus-glib ];
checkInputs = [ dbus.daemon dbus-python ];
checkInputs = [ dbus.daemon python3.pkgs.dbus-python ];
# No point in building tests if they are not run
# On 0.9.7, they do not even build with QT4
@ -29,5 +28,6 @@ in stdenv.mkDerivation rec {
homepage = "https://telepathy.freedesktop.org/components/telepathy-qt/";
license = licenses.lgpl21;
platforms = platforms.linux;
maintainers = with maintainers; [ ];
};
}

View File

@ -11,31 +11,27 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ tokyocabinet ];
doCheck = false; # FIXME
doCheck = false; # FIXME
meta = {
meta = with lib; {
description = "Network interface of the Tokyo Cabinet DBM";
longDescription = ''
Tokyo Tyrant is a package of network interface to the DBM called
Tokyo Cabinet. Though the DBM has high performance, you might
bother in case that multiple processes share the same database, or
remote processes access the database. Thus, Tokyo Tyrant is
provided for concurrent and remote connections to Tokyo Cabinet. It
is composed of the server process managing a database and its access
library for client applications.
longDescription =
'' Tokyo Tyrant is a package of network interface to the DBM called
Tokyo Cabinet. Though the DBM has high performance, you might
bother in case that multiple processes share the same database, or
remote processes access the database. Thus, Tokyo Tyrant is
provided for concurrent and remote connections to Tokyo Cabinet. It
is composed of the server process managing a database and its access
library for client applications.
Tokyo Tyrant is written in the C language, and provided as API of C,
Perl, and Ruby. Tokyo Tyrant is available on platforms which have
API conforming to C99 and POSIX. Tokyo Tyrant is a free software
licensed under the GNU Lesser General Public License.
'';
Tokyo Tyrant is written in the C language, and provided as API of C,
Perl, and Ruby. Tokyo Tyrant is available on platforms which have
API conforming to C99 and POSIX. Tokyo Tyrant is a free software
licensed under the GNU Lesser General Public License.
'';
homepage = "https://fallabs.com/tokyotyrant/";
license = lib.licenses.lgpl21Plus;
platforms = lib.platforms.gnu ++ lib.platforms.linux; # arbitrary choice
maintainers = [ ];
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ ];
};
}

View File

@ -1,20 +1,24 @@
{ lib, stdenv, requireFile, unzip }:
with lib;
stdenv.mkDerivation {
name = "iaca-3.0";
pname = "iaca";
version = "3.0";
src = requireFile {
name = "iaca-version-v3.0-lin64.zip";
sha256 = "0qd81bxg269cwwvfmdp266kvhcl3sdvhrkfqdrbmanawk0w7lvp1";
url = "https://software.intel.com/en-us/articles/intel-architecture-code-analyzer-download";
};
unpackCmd = ''${unzip}/bin/unzip "$src"'';
installPhase = ''
mkdir -p $out/bin
cp iaca $out/bin
patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $out/bin/iaca
'';
meta = {
meta = with lib; {
description = "Intel Architecture Code Analyzer";
homepage = "https://software.intel.com/en-us/articles/intel-architecture-code-analyzer/";
license = licenses.unfree;

View File

@ -1,10 +1,12 @@
{ lib, stdenv, fetchgit, opencflite, clang, libcxx }:
{ lib, stdenv, fetchFromGitHub, opencflite, clang, libcxx }:
stdenv.mkDerivation {
name = "maloader-0git";
pname = "maloader";
version = "unstable-2014-02-25";
src = fetchgit {
url = "git://github.com/shinh/maloader.git";
src = fetchFromGitHub {
owner = "shinh";
repo = "maloader";
rev = "5f220393e0b7b9ad0cf1aba0e89df2b42a1f0442";
sha256 = "0dd1pn07x1y8pyn5wz8qcl1c1xwghyya4d060m3y9vx5dhv9xmzw";
};
@ -28,11 +30,12 @@ stdenv.mkDerivation {
done
'';
meta = {
meta = with lib; {
description = "Mach-O loader for Linux";
homepage = "https://github.com/shinh/maloader";
license = lib.licenses.bsd2;
platforms = lib.platforms.linux;
license = licenses.bsd2;
platforms = platforms.linux;
maintainers = with maintainers; [ ];
broken = true; # 2018-09-08, no succesful build since 2017-08-21
};
}