From 95373d3634d6431037d8d752513392227c76c66b Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sun, 4 Nov 2018 20:12:55 -0600 Subject: [PATCH 1/7] atlas: remove atlas is broken and can apparently be removed. Fixes #49594 --- .../science/math/giac/default.nix | 4 +- .../science/physics/xfitter/default.nix | 4 +- .../libraries/science/math/atlas/default.nix | 126 -------- .../atlas/disable-timing-accuracy-check.patch | 22 -- .../libraries/science/math/atlas/tmpdir.patch | 276 ------------------ .../science/math/liblapack/default.nix | 18 +- pkgs/top-level/all-packages.nix | 24 +- pkgs/top-level/release-small.nix | 1 - 8 files changed, 7 insertions(+), 468 deletions(-) delete mode 100644 pkgs/development/libraries/science/math/atlas/default.nix delete mode 100644 pkgs/development/libraries/science/math/atlas/disable-timing-accuracy-check.patch delete mode 100644 pkgs/development/libraries/science/math/atlas/tmpdir.patch diff --git a/pkgs/applications/science/math/giac/default.nix b/pkgs/applications/science/math/giac/default.nix index 6a0b686602f..2823165d022 100644 --- a/pkgs/applications/science/math/giac/default.nix +++ b/pkgs/applications/science/math/giac/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, texlive, bison, flex, liblapackWithoutAtlas +{ stdenv, fetchurl, fetchpatch, texlive, bison, flex, liblapack , gmp, mpfr, pari, ntl, gsl, blas, mpfi , readline, gettext, libpng, libao, gfortran, perl , enableGUI ? false, libGLU_combined ? null, xorg ? null, fltk ? null @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { # gfortran.cc default output contains static libraries compiled without -fPIC # we want libgfortran.so.3 instead (stdenv.lib.getLib gfortran.cc) - liblapackWithoutAtlas + liblapack ] ++ stdenv.lib.optionals enableGUI [ libGLU_combined fltk xorg.libX11 ]; diff --git a/pkgs/applications/science/physics/xfitter/default.nix b/pkgs/applications/science/physics/xfitter/default.nix index a6ec9960045..833370f8144 100644 --- a/pkgs/applications/science/physics/xfitter/default.nix +++ b/pkgs/applications/science/physics/xfitter/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, apfel, apfelgrid, applgrid, blas, gfortran, lhapdf, liblapackWithoutAtlas, libyaml, lynx, mela, root5, qcdnum, which }: +{ stdenv, fetchurl, apfel, apfelgrid, applgrid, blas, gfortran, lhapdf, liblapack, libyaml, lynx, mela, root5, qcdnum, which }: stdenv.mkDerivation rec { name = "xfitter-${version}"; @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gfortran which ]; buildInputs = - [ apfel apfelgrid applgrid blas lhapdf liblapackWithoutAtlas mela root5 qcdnum ] + [ apfel apfelgrid applgrid blas lhapdf liblapack mela root5 qcdnum ] # pdf2yaml requires fmemopen and open_memstream which are not readily available on Darwin ++ stdenv.lib.optional (!stdenv.isDarwin) libyaml ; diff --git a/pkgs/development/libraries/science/math/atlas/default.nix b/pkgs/development/libraries/science/math/atlas/default.nix deleted file mode 100644 index fb90ed754da..00000000000 --- a/pkgs/development/libraries/science/math/atlas/default.nix +++ /dev/null @@ -1,126 +0,0 @@ -{ stdenv, fetchurl, gfortran, tolerateCpuTimingInaccuracy ? true, shared ? false -, cpuConfig ? if stdenv.isi686 then "-b 32 -A 12 -V 1" else "-b 64 -A 14 -V 384" -, cacheEdge ? "262144" -, threads ? "0" -, liblapack, withLapack -}: - -# Atlas detects the CPU and optimizes its build accordingly. This is great when -# the code is run on the same machine that built the binary, but in case of a -# central build farm like Hydra, this feature is dangerous because the code may -# be generated utilizing fancy features that users who download the binary -# cannot execute. -# -# To avoid these issues, the build is configured using the 'cpuConfig' -# parameter. Upstream recommends these defaults for distributions: -# -# | x86 CPU | x86_64 CPU | -# |---------------------------------------------+------------------------| -# | -b 32 | -b 64 | -# | -A 12 (x86x87) | -A 14 (x86SSE2) | -# | -V 1 (No SIMD) | -V 384 (SSE1 and SSE2) | -# -# These defaults should give consistent performance across machines. -# Performance will be substantially lower than an optimized build, but a build -# optimized for one machine will give even worse performance on others. If you -# are a serious user of Atlas (e.g., you write code that uses it) you should -# compile an optimized version for each of your machines. -# -# The parameter 'cacheEdge' sets the L2 cache per core (in bytes). Setting this -# parameter reduces build time because some tests to detect the L2 cache size -# will not be run. It will also reduce impurity; different build nodes on Hydra -# may have different L2 cache sizes, but fixing the L2 cache size should -# account for that. This also makes the performance of binary substitutes more -# consistent. -# -# The -V flags can change with each release as new instruction sets are added -# because upstream thinks it's a good idea to add entries at the start of an -# enum, rather than the end. If the build suddenly fails with messages about -# missing instruction sets, you may need to poke around in the source a bit. -# -# Upstream recommends the x86x87/x86SSE2 architectures for generic x86/x86_64 -# for distribution builds. Additionally, we set 'cacheEdge' to reduce impurity. -# Otherwise, the cache parameters will be detected by timing which will be -# highly variable on Hydra. - -let - inherit (stdenv.lib) optional optionalString; - # Don't upgrade until https://github.com/math-atlas/math-atlas/issues/44 - # is resolved. - version = "3.10.3"; -in - -stdenv.mkDerivation { - name = "atlas${optionalString withLapack "-with-lapack"}-${version}"; - - src = fetchurl { - url = "mirror://sourceforge/math-atlas/atlas${version}.tar.bz2"; - sha256 = "1dyjlq3fiparvm8ypwk6rsmjzmnwk81l88gkishphpvc79ryp216"; - }; - - buildInputs = [ gfortran ]; - - # Atlas aborts the build if it detects that some kind of CPU frequency - # scaling is active on the build machine because that feature offsets the - # performance timings. We ignore that check, however, because with binaries - # being pre-built on Hydra those timings aren't accurate for the local - # machine in the first place. - patches = optional tolerateCpuTimingInaccuracy ./disable-timing-accuracy-check.patch - ++ optional stdenv.isDarwin ./tmpdir.patch; - - hardeningDisable = [ "format" ]; - - # Configure outside of the source directory. - preConfigure = '' - mkdir build - cd build - configureScript=../configure - ''; - - # * -t 0 disables use of multi-threading. It's not quite clear what the - # consequences of that setting are and whether it's necessary or not. - configureFlags = [ - "-t ${threads}" - cpuConfig - ] ++ optional shared "--shared" - ++ optional withLapack "--with-netlib-lapack-tarfile=${liblapack.src}"; - - postConfigure = '' - if [[ -n "${cacheEdge}" ]]; then - echo '#define CacheEdge ${cacheEdge}' >> include/atlas_cacheedge.h - echo '#define CacheEdge ${cacheEdge}' >> include/atlas_tcacheedge.h - fi - ''; - - doCheck = true; - - postInstall = '' - # Avoid name collision with the real lapack (ATLAS only builds a partial - # lapack unless withLapack = true). - if ${if withLapack then "false" else "true"}; then - mv $out/lib/liblapack.a $out/lib/liblapack_atlas.a - fi - ''; - - # 1. /buildATLAS/build/bin/ATLrun.sh: multiple segfaults. - # 2. "atlas does its own parallel builds" - enableParallelBuilding = false; - - meta = { - homepage = http://math-atlas.sourceforge.net/; - description = "Automatically Tuned Linear Algebra Software (ATLAS)"; - license = stdenv.lib.licenses.bsd3; - broken = stdenv.isDarwin; # test when updating to >=3.10.3 - platforms = stdenv.lib.platforms.unix; - - longDescription = '' - The ATLAS (Automatically Tuned Linear Algebra Software) project is an - ongoing research effort focusing on applying empirical techniques in - order to provide portable performance. At present, it provides C and - Fortran77 interfaces to a portably efficient BLAS implementation, as well - as a few routines from LAPACK. - ''; - - maintainers = with stdenv.lib.maintainers; [ ttuegel ]; - }; -} diff --git a/pkgs/development/libraries/science/math/atlas/disable-timing-accuracy-check.patch b/pkgs/development/libraries/science/math/atlas/disable-timing-accuracy-check.patch deleted file mode 100644 index ddacc742d14..00000000000 --- a/pkgs/development/libraries/science/math/atlas/disable-timing-accuracy-check.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -ubr ATLAS-orig/CONFIG/src/config.c ATLAS/CONFIG/src/config.c ---- ATLAS-orig/CONFIG/src/config.c 2013-02-06 11:23:47.078036878 +0100 -+++ ATLAS/CONFIG/src/config.c 2013-02-06 11:24:16.481120888 +0100 -@@ -711,17 +711,7 @@ - - int ProbeCPUThrottle(int verb, char *targarg, enum OSTYPE OS, enum ASMDIA asmb) - { -- int i, iret; -- char *ln; -- i = strlen(targarg) + 22 + 12; -- ln = malloc(i*sizeof(char)); -- assert(ln); -- sprintf(ln, "%s -O %d -s %d -t", targarg, OS, asmb); -- iret = GetIntProbe(verb, ln, "arch", "CPU THROTTLE", 0); -- free(ln); -- if (iret) printf("CPU Throttling apparently enabled!\n"); -- else printf("Cannot detect CPU throttling.\n"); -- return(iret); -+ return 0; - } - - char *NewAppendedString_SFLAG(char *old, char *flag, char *str) diff --git a/pkgs/development/libraries/science/math/atlas/tmpdir.patch b/pkgs/development/libraries/science/math/atlas/tmpdir.patch deleted file mode 100644 index be571b94300..00000000000 --- a/pkgs/development/libraries/science/math/atlas/tmpdir.patch +++ /dev/null @@ -1,276 +0,0 @@ -diff --git a/CONFIG/ARCHS/negflt.c b/CONFIG/ARCHS/negflt.c -index e5b7871..d45e387 100644 ---- a/CONFIG/ARCHS/negflt.c -+++ b/CONFIG/ARCHS/negflt.c -@@ -239,7 +239,7 @@ void NegFile(char *fnam, int N, int *cols) - FILE *fpin, *fpout; - WORDS *wp0, *wp; - -- tnam = tmpnam(NULL); -+ tnam = tempnam(NULL, NULL); - fpin = fopen(fnam, "r"); - assert(fpin); - fpout = fopen(tnam, "w"); -diff --git a/CONFIG/include/atlas_sys.h b/CONFIG/include/atlas_sys.h -index b83a749..8902d38 100644 ---- a/CONFIG/include/atlas_sys.h -+++ b/CONFIG/include/atlas_sys.h -@@ -216,12 +216,13 @@ static char *ATL_fgets_CWS(char *sout, int *plen, FILE *fpin) - - static char *ATL_tmpnam(void) - { -- static char tnam[L_tmpnam]; -+ static char *tnam; - static char FirstTime=1; - if (FirstTime) - { - FirstTime = 0; -- assert(tmpnam(tnam)); -+ tnam = tempnam(NULL, NULL); -+ assert(tnam); - } - return(tnam); - } -diff --git a/bin/atlas_install.c b/bin/atlas_install.c -index 2753cbf..e49cc3e 100644 ---- a/bin/atlas_install.c -+++ b/bin/atlas_install.c -@@ -662,7 +662,8 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) - { - const char TR[2] = {'N','T'}; - char prec[4] = {'d', 's', 'z', 'c'}, pre, upre, *typ; -- char ln[1024], tnam[256], ln2[512], ln3[512], fnam[128]; -+ char ln[1024], ln2[512], ln3[512], fnam[128]; -+ char *tnam; - char *mulinst, *peakstr, *peakstr2; - int nprec=4; - int iL1, lat, muladd, maused, latuse, lbnreg; -@@ -681,7 +682,7 @@ void GoToTown(int ARCHDEF, int L1DEF, int TuneLA) - fpsum = fopen("INSTALL_LOG/SUMMARY.LOG", "a"); - ATL_Cassert(fpsum, "OPENING INSTALL_LOG/SUMMARY.LOG", NULL); - -- ATL_Cassert(tmpnam(tnam), "GETTING TEMPFILE", NULL); -+ ATL_Cassert((tnam = tempnam(NULL, NULL)), "GETTING TEMPFILE", NULL); - - if (L1DEF) - { -diff --git a/bin/extract.c b/bin/extract.c -index 7a5a926..53fb8bf 100644 ---- a/bin/extract.c -+++ b/bin/extract.c -@@ -3378,7 +3378,7 @@ void PushProc0(EXTENV *EE, EXTPROC **basep, EXTPROC **myfuncs, char *ln) - pp->argnams = KillWord(wp, wp); - pp->nargs = CountWords(pp->argnams); - -- cp = tmpnam(NULL); -+ cp = tempnam(NULL, NULL); - if (cp == NULL) ExtErr(EE, "Out of tmpnams!!!"); - i = Wstrlen(cp) + 1; - pp->FileNam = malloc(i*sizeof(char)); -diff --git a/include/atlas_mvtesttime.h b/include/atlas_mvtesttime.h -index 9147fcb..ab6a99f 100644 ---- a/include/atlas_mvtesttime.h -+++ b/include/atlas_mvtesttime.h -@@ -105,14 +105,15 @@ static int MVKernelFailsTest - char ln[4096]; - char *sp; - int i, lda0; -- static char outnam[L_tmpnam]; -+ static char* outnam; - static int FirstTime=1; - - if (FirstTime) - { - - FirstTime = 0; -- assert(tmpnam(outnam)); -+ outnam = tempnam(NULL, NULL); -+ assert(outnam); - } - /* - * If the file is generated, call generator to create it -@@ -221,14 +222,15 @@ static double TimeMVKernel - char ln[2048], resf[256], *sp; - double *dp, mf; - int i, align = pre2size(pre); -- static char outnam[L_tmpnam]; -+ static char* outnam; - static int FirstTime=1; - - if (FirstTime) - { - - FirstTime = 0; -- assert(tmpnam(outnam)); -+ outnam = tempnam(NULL, NULL); -+ assert(outnam); - } - /* - * If the file is generated, call generator to create it -diff --git a/include/atlas_r1testtime.h b/include/atlas_r1testtime.h -index b33213a..f27ee25 100644 ---- a/include/atlas_r1testtime.h -+++ b/include/atlas_r1testtime.h -@@ -76,14 +76,15 @@ static int R1KernelFailsTest - char ln[4096]; - char *sp; - int i, lda0; -- static char outnam[L_tmpnam]; -+ static char* outnam; - static int FirstTime=1; - - if (FirstTime) - { - - FirstTime = 0; -- assert(tmpnam(outnam)); -+ outnam = tempnam(NULL, NULL); -+ assert(outnam); - } - /* - * If the file is generated, call generator to create it -@@ -187,14 +188,15 @@ static double TimeR1Kernel - char ln[2048], resf[256], *sp; - double *dp, mf; - int i, align = pre2size(pre); -- static char outnam[L_tmpnam]; -+ static char* outnam; - static int FirstTime=1; - - if (FirstTime) - { - - FirstTime = 0; -- assert(tmpnam(outnam)); -+ outnam = tempnam(NULL, NULL); -+ assert(outnam); - } - /* - * If the file is generated, call generator to create it -diff --git a/include/atlas_r2testtime.h b/include/atlas_r2testtime.h -index facc66d..c638dce 100644 ---- a/include/atlas_r2testtime.h -+++ b/include/atlas_r2testtime.h -@@ -76,14 +76,15 @@ static int R2KernelFailsTest - char ln[4096]; - char *sp; - int i, lda0; -- static char outnam[L_tmpnam]; -+ static char* outnam; - static int FirstTime=1; - - if (FirstTime) - { - - FirstTime = 0; -- assert(tmpnam(outnam)); -+ outnam = tempnam(NULL, NULL); -+ assert(outnam); - } - /* - * If the file is generated, call generator to create it -@@ -187,14 +188,15 @@ static double TimeR2Kernel - char ln[2048], resf[256], *sp; - double *dp, mf; - int i, align = pre2size(pre); -- static char outnam[L_tmpnam]; -+ static char* outnam; - static int FirstTime=1; - - if (FirstTime) - { - - FirstTime = 0; -- assert(tmpnam(outnam)); -+ outnam = tempnam(NULL, NULL); -+ assert(outnam); - } - /* - * If the file is generated, call generator to create it -diff --git a/include/atlas_sys.h b/include/atlas_sys.h -index b83a749..b3f88d2 100644 ---- a/include/atlas_sys.h -+++ b/include/atlas_sys.h -@@ -216,12 +216,13 @@ static char *ATL_fgets_CWS(char *sout, int *plen, FILE *fpin) - - static char *ATL_tmpnam(void) - { -- static char tnam[L_tmpnam]; -+ static char* tnam; - static char FirstTime=1; - if (FirstTime) - { - FirstTime = 0; -- assert(tmpnam(tnam)); -+ tnam = tempnam(NULL, NULL); -+ assert(tnam); - } - return(tnam); - } -diff --git a/tune/blas/gemm/usercomb.c b/tune/blas/gemm/usercomb.c -index 59a7cd4..eb3eb05 100644 ---- a/tune/blas/gemm/usercomb.c -+++ b/tune/blas/gemm/usercomb.c -@@ -138,11 +138,13 @@ int GetUserCase(char pre, int icase, int *iflag, int *mb, int *nb, int *kb, - - void CombineFiles(char *fout, int nfiles, char **fnams) - { -- char tnam[256], ln[512]; -+ char ln[512]; -+ char *tnam; - int i, j, n, nn; - FILE *fpout, *fpin; - -- assert(tmpnam(tnam)); -+ tnam = tempnam(NULL, NULL); -+ assert(tnam); - for (n=i=0; i < nfiles; i++) n += NumUserCases0(fnams[i]); - - fpout = fopen(tnam, "w"); -diff --git a/tune/blas/gemm/userflag.c b/tune/blas/gemm/userflag.c -index c3983e4..b7dd70b 100644 ---- a/tune/blas/gemm/userflag.c -+++ b/tune/blas/gemm/userflag.c -@@ -139,8 +139,8 @@ int GetUserCase(char pre, int icase, int *iflag, int *mb, int *nb, int *kb, - - void GoGetThem(char *infile, char *outfile) - { -- char ln[512], ln2[512], tnam[256], MCC[256], MMFLAGS[256]; -- char *chkfile = "FlagCheck.c", *sp, *sp2; -+ char ln[512], ln2[512], MCC[256], MMFLAGS[256]; -+ char *chkfile = "FlagCheck.c", *sp, *sp2, *tnam; - FILE *fpin, *fpout; - int i, j, n, nmin=0, good; - int wass; -@@ -152,7 +152,8 @@ void GoGetThem(char *infile, char *outfile) - n = NumUserCases0(infile); - fpin = fopen(infile, "r"); - assert(fpin); -- assert(tmpnam(tnam)); -+ tnam = tempnam(NULL, NULL); -+ assert(tnam); - fpout = fopen(tnam, "w"); - assert(fpout); - assert(fgets(ln, 512, fpin)); -diff --git a/tune/sysinfo/emit_buildinfo.c b/tune/sysinfo/emit_buildinfo.c -index 309c06a..3feaea7 100644 ---- a/tune/sysinfo/emit_buildinfo.c -+++ b/tune/sysinfo/emit_buildinfo.c -@@ -41,14 +41,15 @@ static char SMCVERS[LNLEN], DMCVERS[LNLEN], SKCVERS[LNLEN], DKCVERS[LNLEN]; - static char UNAM[64], DATE[128]; - char *CmndResults(char *cmnd) - { -- static char tnam[128]; -+ static char* tnam; - static int FirstTime=1; - char ln[512]; - - if (FirstTime) - { - FirstTime = 0; -- assert(tmpnam(tnam)); -+ tnam = tempnam(NULL, NULL); -+ assert(tnam); - } - sprintf(ln, "%s > %s\n", cmnd, tnam); - fprintf(stderr, "system: %s", ln); diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix index e6af2251b1f..38260f63d91 100644 --- a/pkgs/development/libraries/science/math/liblapack/default.nix +++ b/pkgs/development/libraries/science/math/liblapack/default.nix @@ -4,12 +4,9 @@ gfortran, cmake, python2, - atlas ? null, shared ? false }: let - atlasMaybeShared = if atlas != null then atlas.override { inherit shared; } - else null; usedLibExtension = if shared then ".so" else ".a"; inherit (stdenv.lib) optional optionals; version = "3.8.0"; @@ -22,7 +19,6 @@ stdenv.mkDerivation rec { sha256 = "1xmwi2mqmipvg950gb0rhgprcps8gy8sjm8ic9rgy2qjlv22rcny"; }; - propagatedBuildInputs = [ atlasMaybeShared ]; buildInputs = [ gfortran cmake ]; nativeBuildInputs = [ python2 ]; @@ -30,15 +26,7 @@ stdenv.mkDerivation rec { "-DUSE_OPTIMIZED_BLAS=ON" "-DCMAKE_Fortran_FLAGS=-fPIC" ] - ++ (optionals (atlas != null) [ - "-DBLAS_ATLAS_f77blas_LIBRARY=${atlasMaybeShared}/lib/libf77blas${usedLibExtension}" - "-DBLAS_ATLAS_atlas_LIBRARY=${atlasMaybeShared}/lib/libatlas${usedLibExtension}" - ]) - ++ (optional shared "-DBUILD_SHARED_LIBS=ON") - # If we're on darwin, CMake will automatically detect impure paths. This switch - # prevents that. - ++ (optional stdenv.isDarwin "-DCMAKE_OSX_SYSROOT:PATH=''") - ; + ++ (optional shared "-DBUILD_SHARED_LIBS=ON"); doCheck = ! shared; @@ -48,10 +36,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - passthru = { - blas = atlas; - }; - meta = with stdenv.lib; { inherit version; description = "Linear Algebra PACKage"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3cd0cc4887a..937125ce628 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16101,9 +16101,7 @@ with pkgs; cpp_ethereum = callPackage ../applications/misc/cpp-ethereum { }; - csdp = callPackage ../applications/science/math/csdp { - liblapack = liblapackWithoutAtlas; - }; + csdp = callPackage ../applications/science/math/csdp { }; ctop = callPackage ../tools/system/ctop { }; @@ -21171,16 +21169,6 @@ with pkgs; arpack = callPackage ../development/libraries/science/math/arpack { }; - atlas = callPackage ../development/libraries/science/math/atlas { - # The build process measures CPU capabilities and optimizes the - # library to perform best on that particular machine. That is a - # great feature, but it's of limited use with pre-built binaries - # coming from a central build farm. - tolerateCpuTimingInaccuracy = true; - liblapack = liblapackWithoutAtlas; - withLapack = false; - }; - blas = callPackage ../development/libraries/science/math/blas { }; brial = callPackage ../development/libraries/science/math/brial { }; @@ -21203,13 +21191,7 @@ with pkgs; libhomfly = callPackage ../development/libraries/science/math/libhomfly { }; - # We have essentially 4 permutations of liblapack: version 3.4.1 or 3.5.0, - # and with or without atlas as a dependency. The default `liblapack` is 3.4.1 - # with atlas. Atlas, when built with liblapack as a dependency, uses 3.5.0 - # without atlas. Etc. liblapack = callPackage ../development/libraries/science/math/liblapack {}; - liblapackWithoutAtlas = liblapackWithAtlas.override { atlas = null; }; - liblapackWithAtlas = liblapack; liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { }; @@ -21276,9 +21258,7 @@ with pkgs; QuadProgpp = callPackage ../development/libraries/science/math/QuadProgpp { }; - scs = callPackage ../development/libraries/science/math/scs { - liblapack = liblapackWithoutAtlas; - }; + scs = callPackage ../development/libraries/science/math/scs { }; sage = callPackage ../applications/science/math/sage { nixpkgs = pkgs; diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix index 7f574574d8d..01cbc004b8f 100644 --- a/pkgs/top-level/release-small.nix +++ b/pkgs/top-level/release-small.nix @@ -18,7 +18,6 @@ with import ./release-lib.nix { inherit supportedSystems; }; aspell = all; at = linux; - atlas = linux; autoconf = all; automake = all; avahi = unix; # Cygwin builds fail From 6ba2b84f49f67840495d150e7e76cfb9cb29b7d2 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 5 Nov 2018 15:53:05 -0600 Subject: [PATCH 2/7] liblapack: add compat aliases --- pkgs/top-level/aliases.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 8f5e866ede5..afd8fed9156 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -163,6 +163,8 @@ mapAliases ({ libgumbo = gumbo; # added 2018-01-21 libintlOrEmpty = stdenv.lib.optional (!stdenv.isLinux || stdenv.hostPlatform.libc != "glibc") gettext; # added 2018-03-14 libjson_rpc_cpp = libjson-rpc-cpp; # added 2017-02-28 + liblapackWithoutAtlas = liblapack; # added 2018-11-05 + liblapackWithAtlas = liblapack; # added 2018-11-05 libmysql = mysql.connector-c; # added # 2017-12-28, this was a misnomer refering to libmysqlclient librecad2 = librecad; # backwards compatibility alias, added 2015-10 libsysfs = sysfsutils; # added 2018-04-25 From 349f3dfe25401e64e01560cd7dc8374dba407614 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 7 Nov 2018 13:18:33 -0600 Subject: [PATCH 3/7] shogun: use openblas shogun needs the cblas.h header file to be available. It used to get it from liblapack, but that is not available anymore. Instead we can use openblasCompat to get it. --- pkgs/applications/science/machine-learning/shogun/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/machine-learning/shogun/default.nix b/pkgs/applications/science/machine-learning/shogun/default.nix index 0ac40b1e7d4..402ef0d9588 100644 --- a/pkgs/applications/science/machine-learning/shogun/default.nix +++ b/pkgs/applications/science/machine-learning/shogun/default.nix @@ -2,7 +2,7 @@ # data, compression , bzip2, curl, hdf5, json_c, lzma, lzo, protobuf, snappy # maths -, blas, eigen, nlopt, lp_solve, colpack +, openblasCompat, eigen, nlopt, lp_solve, colpack # libraries , libarchive, liblapack, libxml2 # extra support @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { CCACHE_DIR=".ccache"; buildInputs = with lib; [ - blas bzip2 ccache cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo + openblasCompat bzip2 ccache cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo protobuf nlopt snappy swig (libarchive.dev) liblapack libxml2 ] ++ optionals (pythonSupport) (with pythonPackages; [ python ply numpy ]) From f2c49bd4cb2ff498a68b838ee56757e614f78704 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 7 Nov 2018 13:26:09 -0600 Subject: [PATCH 4/7] aliases: remove liblapackWithAtlas MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This doesn’t make any sense to keep - we don’t have a liblapack with atlas anymore. --- pkgs/top-level/aliases.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index afd8fed9156..9c146c16b08 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -164,7 +164,6 @@ mapAliases ({ libintlOrEmpty = stdenv.lib.optional (!stdenv.isLinux || stdenv.hostPlatform.libc != "glibc") gettext; # added 2018-03-14 libjson_rpc_cpp = libjson-rpc-cpp; # added 2017-02-28 liblapackWithoutAtlas = liblapack; # added 2018-11-05 - liblapackWithAtlas = liblapack; # added 2018-11-05 libmysql = mysql.connector-c; # added # 2017-12-28, this was a misnomer refering to libmysqlclient librecad2 = librecad; # backwards compatibility alias, added 2015-10 libsysfs = sysfsutils; # added 2018-04-25 From 3dcb8c10f5b5e58e6e409b57a4182807f3f3ef37 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 8 Nov 2018 14:42:29 -0600 Subject: [PATCH 5/7] shogun: remove liblapack not needed anymore --- pkgs/applications/science/machine-learning/shogun/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/machine-learning/shogun/default.nix b/pkgs/applications/science/machine-learning/shogun/default.nix index 402ef0d9588..8de78092bd8 100644 --- a/pkgs/applications/science/machine-learning/shogun/default.nix +++ b/pkgs/applications/science/machine-learning/shogun/default.nix @@ -4,7 +4,7 @@ # maths , openblasCompat, eigen, nlopt, lp_solve, colpack # libraries -, libarchive, liblapack, libxml2 +, libarchive, libxml2 # extra support , pythonSupport ? true, pythonPackages ? null , opencvSupport ? false, opencv ? null @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { buildInputs = with lib; [ openblasCompat bzip2 ccache cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo - protobuf nlopt snappy swig (libarchive.dev) liblapack libxml2 + protobuf nlopt snappy swig (libarchive.dev) libxml2 ] ++ optionals (pythonSupport) (with pythonPackages; [ python ply numpy ]) ++ optional (opencvSupport) opencv; From 06f36767709f64792175cf6b8d2a0c0cd3026f61 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Sun, 11 Nov 2018 02:17:20 +0100 Subject: [PATCH 6/7] scalapack: set platform to linux --- pkgs/development/libraries/science/math/scalapack/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/science/math/scalapack/default.nix b/pkgs/development/libraries/science/math/scalapack/default.nix index 83e177c66c1..1fce95f366b 100644 --- a/pkgs/development/libraries/science/math/scalapack/default.nix +++ b/pkgs/development/libraries/science/math/scalapack/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { homepage = http://www.netlib.org/scalapack/; description = "Library of high-performance linear algebra routines for parallel distributed memory machines"; license = licenses.bsdOriginal; - platforms = platforms.all; + platforms = platforms.linux; maintainers = [ maintainers.costrouc ]; }; From 6533d7588d697568afccff398df5369e851ebc62 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Sun, 11 Nov 2018 02:17:49 +0100 Subject: [PATCH 7/7] colpack: set platform to linux --- pkgs/applications/science/math/colpack/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/science/math/colpack/default.nix b/pkgs/applications/science/math/colpack/default.nix index e62df7f11cc..94e0a44226d 100644 --- a/pkgs/applications/science/math/colpack/default.nix +++ b/pkgs/applications/science/math/colpack/default.nix @@ -25,6 +25,7 @@ stdenv.mkDerivation rec { vertex coloring and derivative computation"; homepage = "http://cscapes.cs.purdue.edu/coloringpage/software.htm#functionalities"; license = licenses.lgpl3; + platforms = platforms.linux; maintainers = with maintainers; [ edwtjo ]; };