From 60cef5d908cee6485a056622efa43f34984d6f1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 10 Nov 2021 20:41:28 +0100 Subject: [PATCH 1/6] fftw: switch to pname+version, minor formatting, fix input option, remove ? null from inputs --- pkgs/development/libraries/fftw/default.nix | 48 +++++++++------------ 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix index 37a7f1ce8fe4..7f4188208ff6 100644 --- a/pkgs/development/libraries/fftw/default.nix +++ b/pkgs/development/libraries/fftw/default.nix @@ -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; From bbd3f7f31c2233a301082d5c671c3ae7a3ce2ffc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 10 Nov 2021 20:42:03 +0100 Subject: [PATCH 2/6] stfl: use normal make phase --- pkgs/development/libraries/stfl/default.nix | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/stfl/default.nix b/pkgs/development/libraries/stfl/default.nix index 20676c16b9c6..56b97235b0c1 100644 --- a/pkgs/development/libraries/stfl/default.nix +++ b/pkgs/development/libraries/stfl/default.nix @@ -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; }; } From 86da7c95cd2a5075da6ebe20ffed1b5577b1d819 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 10 Nov 2021 20:42:24 +0100 Subject: [PATCH 3/6] telepathy.qt: cleanup inherit, update meta --- .../libraries/telepathy/qt/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/telepathy/qt/default.nix b/pkgs/development/libraries/telepathy/qt/default.nix index dbbaca7e11a7..f11759b01f54 100644 --- a/pkgs/development/libraries/telepathy/qt/default.nix +++ b/pkgs/development/libraries/telepathy/qt/default.nix @@ -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; [ ]; }; } From 284681784712e73991c8c5d1f3643d61fcc261e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 10 Nov 2021 20:42:45 +0100 Subject: [PATCH 4/6] tokyo-tyrant: format, remove arbitrary choice --- .../libraries/tokyo-tyrant/default.nix | 40 +++++++++---------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/pkgs/development/libraries/tokyo-tyrant/default.nix b/pkgs/development/libraries/tokyo-tyrant/default.nix index 6431e6a1a7a5..879666f2490a 100644 --- a/pkgs/development/libraries/tokyo-tyrant/default.nix +++ b/pkgs/development/libraries/tokyo-tyrant/default.nix @@ -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; [ ]; }; } From ea25bea65ac46d8ea61de35daa26d50ab8cc6718 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 10 Nov 2021 20:43:19 +0100 Subject: [PATCH 5/6] iaca: cleanup with lib --- pkgs/development/tools/iaca/3.0.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/iaca/3.0.nix b/pkgs/development/tools/iaca/3.0.nix index 731b64317172..b1bdbd6da86a 100644 --- a/pkgs/development/tools/iaca/3.0.nix +++ b/pkgs/development/tools/iaca/3.0.nix @@ -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; From cd84d7fd5772fac04420870f489ab5e36420c5d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 10 Nov 2021 20:43:33 +0100 Subject: [PATCH 6/6] maloader: switch to fetchFromGitHub --- pkgs/os-specific/darwin/maloader/default.nix | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pkgs/os-specific/darwin/maloader/default.nix b/pkgs/os-specific/darwin/maloader/default.nix index 9142484e043c..d860ac38bce3 100644 --- a/pkgs/os-specific/darwin/maloader/default.nix +++ b/pkgs/os-specific/darwin/maloader/default.nix @@ -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 }; }