Revert "follow up to pname+version switch: libs"

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

View file

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

View file

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

View file

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

View file

@ -11,27 +11,31 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ tokyocabinet ]; buildInputs = [ tokyocabinet ];
doCheck = false; # FIXME doCheck = false; # FIXME
meta = with lib; { meta = {
description = "Network interface of the Tokyo Cabinet DBM"; 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.
Tokyo Tyrant is written in the C language, and provided as API of C, longDescription =
Perl, and Ruby. Tokyo Tyrant is available on platforms which have '' Tokyo Tyrant is a package of network interface to the DBM called
API conforming to C99 and POSIX. Tokyo Tyrant is a free software Tokyo Cabinet. Though the DBM has high performance, you might
licensed under the GNU Lesser General Public License. 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.
'';
homepage = "https://fallabs.com/tokyotyrant/"; homepage = "https://fallabs.com/tokyotyrant/";
license = licenses.lgpl21Plus;
platforms = platforms.linux; license = lib.licenses.lgpl21Plus;
maintainers = with maintainers; [ ];
platforms = lib.platforms.gnu ++ lib.platforms.linux; # arbitrary choice
maintainers = [ ];
}; };
} }

View file

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

View file

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