From f79f80dbf267036a96f8eae281c8501482756d03 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Tue, 13 Mar 2018 18:00:52 -0400 Subject: [PATCH] treewide: get rid of platforms.allBut Negative reasoning like `allBut` is a bad idea with an open world of platforms. Concretely, if we add a new, quite different sort of platform, existing packages with `allBut` will claim they work on it even though they probably won't. --- lib/systems/doubles.nix | 3 ++- pkgs/applications/graphics/ahoviewer/default.nix | 4 +++- pkgs/applications/window-managers/i3/lock-color.nix | 2 +- pkgs/data/icons/numix-icon-theme-square/default.nix | 2 +- pkgs/development/compilers/chicken/default.nix | 2 +- pkgs/development/compilers/mono/generic.nix | 2 +- pkgs/development/libraries/buddy/default.nix | 2 +- pkgs/development/libraries/cln/default.nix | 2 +- pkgs/development/libraries/cloog-ppl/default.nix | 2 +- pkgs/development/libraries/cloog/0.18.0.nix | 2 +- pkgs/development/libraries/cloog/default.nix | 2 +- pkgs/development/libraries/rocksdb/default.nix | 2 +- pkgs/development/tools/rtags/default.nix | 2 +- pkgs/games/endless-sky/default.nix | 2 +- pkgs/misc/screensavers/alock/default.nix | 2 +- pkgs/misc/screensavers/xscreensaver/default.nix | 2 +- pkgs/tools/graphics/barcode/default.nix | 2 +- pkgs/tools/graphics/dcraw/default.nix | 2 +- pkgs/tools/misc/mbuffer/default.nix | 2 +- pkgs/tools/networking/dnscrypt-proxy/default.nix | 2 +- pkgs/tools/networking/zerotierone/default.nix | 2 +- pkgs/top-level/python-packages.nix | 2 +- pkgs/top-level/release-lib.nix | 2 +- pkgs/top-level/release-small.nix | 10 +++++----- 24 files changed, 31 insertions(+), 28 deletions(-) diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix index 20294a28a110..0e1ee62ac950 100644 --- a/lib/systems/doubles.nix +++ b/lib/systems/doubles.nix @@ -24,10 +24,11 @@ let in rec { inherit all; - allBut = platforms: lists.filter (x: !(builtins.elem x platforms)) all; none = []; arm = filterDoubles predicates.isArm; + aarch64 = filterDoubles predicates.isAarch64; + x86 = filterDoubles predicates.isx86; i686 = filterDoubles predicates.isi686; mips = filterDoubles predicates.isMips; x86_64 = filterDoubles predicates.isx86_64; diff --git a/pkgs/applications/graphics/ahoviewer/default.nix b/pkgs/applications/graphics/ahoviewer/default.nix index 2d42a479999b..b7647803b3d3 100644 --- a/pkgs/applications/graphics/ahoviewer/default.nix +++ b/pkgs/applications/graphics/ahoviewer/default.nix @@ -37,7 +37,9 @@ stdenv.mkDerivation rec { description = "A GTK2 image viewer, manga reader, and booru browser"; maintainers = with maintainers; [ skrzyp xzfc ]; license = licenses.mit; - platforms = platforms.allBut [ "darwin" "cygwin" ]; + # Unintentionally not working on Darwin: + # https://github.com/ahodesuka/ahoviewer/issues/62 + platforms = platforms.linux; }; } diff --git a/pkgs/applications/window-managers/i3/lock-color.nix b/pkgs/applications/window-managers/i3/lock-color.nix index ec1673f5040d..edaa88bde23d 100644 --- a/pkgs/applications/window-managers/i3/lock-color.nix +++ b/pkgs/applications/window-managers/i3/lock-color.nix @@ -34,6 +34,6 @@ stdenv.mkDerivation rec { # Needs the SSE2 instruction set. See upstream issue # https://github.com/chrjguill/i3lock-color/issues/44 - platforms = platforms.i686 ++ platforms.x86_64; + platforms = platforms.x86; }; } diff --git a/pkgs/data/icons/numix-icon-theme-square/default.nix b/pkgs/data/icons/numix-icon-theme-square/default.nix index 198229cce371..99871abe5d46 100644 --- a/pkgs/data/icons/numix-icon-theme-square/default.nix +++ b/pkgs/data/icons/numix-icon-theme-square/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { description = "Numix icon theme (square version)"; homepage = https://numixproject.org; license = licenses.gpl3; - platforms = with platforms; allBut darwin; + platforms = platforms.linux; # Maybe other non-darwin Unix maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/development/compilers/chicken/default.nix b/pkgs/development/compilers/chicken/default.nix index 4a2893c303f4..ad9e57f794f0 100644 --- a/pkgs/development/compilers/chicken/default.nix +++ b/pkgs/development/compilers/chicken/default.nix @@ -63,7 +63,7 @@ stdenv.mkDerivation { homepage = http://www.call-cc.org/; license = stdenv.lib.licenses.bsd3; maintainers = with stdenv.lib.maintainers; [ the-kenny ]; - platforms = with stdenv.lib.platforms; allBut darwin; + platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix description = "A portable compiler for the Scheme programming language"; longDescription = '' CHICKEN is a compiler for the Scheme programming language. diff --git a/pkgs/development/compilers/mono/generic.nix b/pkgs/development/compilers/mono/generic.nix index a8012f6bb9e6..3b476bce0273 100644 --- a/pkgs/development/compilers/mono/generic.nix +++ b/pkgs/development/compilers/mono/generic.nix @@ -88,7 +88,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://mono-project.com/; description = "Cross platform, open source .NET development framework"; - platforms = with stdenv.lib.platforms; allBut [ "aarch64-linux" ]; + platforms = stdenv.lib.platforms.x86; maintainers = with stdenv.lib.maintainers; [ viric thoughtpolice obadz vrthra ]; license = stdenv.lib.licenses.free; # Combination of LGPL/X11/GPL ? }; diff --git a/pkgs/development/libraries/buddy/default.nix b/pkgs/development/libraries/buddy/default.nix index 313ac086726f..00e236eba8c3 100644 --- a/pkgs/development/libraries/buddy/default.nix +++ b/pkgs/development/libraries/buddy/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { description = "Binary decision diagram package"; license = "as-is"; - platforms = with stdenv.lib.platforms; allBut cygwin; + platforms = stdenv.lib.platforms.unix; # Once had cygwin problems maintainers = [ stdenv.lib.maintainers.peti ]; }; } diff --git a/pkgs/development/libraries/cln/default.nix b/pkgs/development/libraries/cln/default.nix index 9d7c9c4f30f8..e39386dca3f4 100644 --- a/pkgs/development/libraries/cln/default.nix +++ b/pkgs/development/libraries/cln/default.nix @@ -15,6 +15,6 @@ stdenv.mkDerivation rec { description = "C/C++ library for numbers, a part of GiNaC"; homepage = http://www.ginac.de/CLN/; maintainers = [ ]; - platforms = with stdenv.lib.platforms; allBut cygwin; + platforms = stdenv.lib.platforms.unix; # Once had cygwin problems }; } diff --git a/pkgs/development/libraries/cloog-ppl/default.nix b/pkgs/development/libraries/cloog-ppl/default.nix index 2c49e0363589..442b115a4082 100644 --- a/pkgs/development/libraries/cloog-ppl/default.nix +++ b/pkgs/development/libraries/cloog-ppl/default.nix @@ -69,6 +69,6 @@ stdenv.mkDerivation rec { make[3]: *** [Box.lo] Error 1 */ - platforms = with stdenv.lib.platforms; allBut cygwin; + platforms = stdenv.lib.platforms.unix; # Once had cygwin problems }; } diff --git a/pkgs/development/libraries/cloog/0.18.0.nix b/pkgs/development/libraries/cloog/0.18.0.nix index ccd938283199..fa4e19f716ae 100644 --- a/pkgs/development/libraries/cloog/0.18.0.nix +++ b/pkgs/development/libraries/cloog/0.18.0.nix @@ -58,6 +58,6 @@ stdenv.mkDerivation rec { make[3]: *** [Box.lo] Error 1 */ - platforms = with stdenv.lib.platforms; allBut cygwin; + platforms = stdenv.lib.platforms.unix; # Once had cygwin problems }; } diff --git a/pkgs/development/libraries/cloog/default.nix b/pkgs/development/libraries/cloog/default.nix index 5da29273a8be..902e0b26687b 100644 --- a/pkgs/development/libraries/cloog/default.nix +++ b/pkgs/development/libraries/cloog/default.nix @@ -59,6 +59,6 @@ stdenv.mkDerivation rec { make[3]: *** [Box.lo] Error 1 */ - platforms = with stdenv.lib.platforms; allBut cygwin; + platforms = stdenv.lib.platforms.unix; # Once had cygwin problems }; } diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix index 562942f230fb..6ccb78003cfa 100644 --- a/pkgs/development/libraries/rocksdb/default.nix +++ b/pkgs/development/libraries/rocksdb/default.nix @@ -73,7 +73,7 @@ stdenv.mkDerivation rec { homepage = http://rocksdb.org; description = "A library that provides an embeddable, persistent key-value store for fast storage"; license = licenses.bsd3; - platforms = platforms.allBut [ "i686-linux" ]; + platforms = platforms.x86_64 ++ platforms.aarch64; maintainers = with maintainers; [ adev wkennington ]; }; } diff --git a/pkgs/development/tools/rtags/default.nix b/pkgs/development/tools/rtags/default.nix index 13fbea3fc231..a2c75a02aa28 100644 --- a/pkgs/development/tools/rtags/default.nix +++ b/pkgs/development/tools/rtags/default.nix @@ -32,6 +32,6 @@ stdenv.mkDerivation rec { description = "C/C++ client-server indexer based on clang"; homepage = https://github.com/andersbakken/rtags; license = stdenv.lib.licenses.gpl3; - platforms = stdenv.lib.platforms.allBut [ "i686-linux" ]; + platforms = with stdenv.lib.platforms; x86_64 ++ aarch64; }; } diff --git a/pkgs/games/endless-sky/default.nix b/pkgs/games/endless-sky/default.nix index 40dbd1d33a77..8e1bd52eb42f 100644 --- a/pkgs/games/endless-sky/default.nix +++ b/pkgs/games/endless-sky/default.nix @@ -41,6 +41,6 @@ stdenv.mkDerivation rec { gpl3Plus cc-by-sa-30 cc-by-sa-40 publicDomain ]; maintainers = with maintainers; [ lheckemann ]; - platforms = with platforms; allBut darwin; + platforms = platforms.linux; # Maybe other non-darwin Unix }; } diff --git a/pkgs/misc/screensavers/alock/default.nix b/pkgs/misc/screensavers/alock/default.nix index 1dc03e1e9f03..5b7c12dee1b0 100644 --- a/pkgs/misc/screensavers/alock/default.nix +++ b/pkgs/misc/screensavers/alock/default.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { xscreensaver and never will. It's just for locking the current X session. ''; - platforms = with platforms; allBut cygwin; + platforms = platforms.unix; # Cygwin had problems at one point maintainers = with maintainers; [ ftrvxmtrx chris-martin ]; }; } diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix index b337b6cb0e90..8035e7da37db 100644 --- a/pkgs/misc/screensavers/xscreensaver/default.nix +++ b/pkgs/misc/screensavers/xscreensaver/default.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { homepage = https://www.jwz.org/xscreensaver/; description = "A set of screensavers"; maintainers = with stdenv.lib.maintainers; [ raskin ]; - platforms = with stdenv.lib.platforms; allBut cygwin; + platforms = stdenv.lib.platforms.unix; # Once had cygwin problems inherit version; downloadPage = "https://www.jwz.org/xscreensaver/download.html"; updateWalker = true; diff --git a/pkgs/tools/graphics/barcode/default.nix b/pkgs/tools/graphics/barcode/default.nix index d6a31bd5c7f7..7ed2cc8b6aaf 100644 --- a/pkgs/tools/graphics/barcode/default.nix +++ b/pkgs/tools/graphics/barcode/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "GNU barcode generator"; maintainers = with maintainers; [ raskin ]; - platforms = with platforms; allBut darwin; + platforms = platforms.linux; # Maybe other non-darwin Unix downloadPage = "http://ftp.gnu.org/gnu/barcode/"; updateWalker = true; homepage = http://ftp.gnu.org/gnu/barcode/; diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix index 66d3a1100804..30546865bcc1 100644 --- a/pkgs/tools/graphics/dcraw/default.nix +++ b/pkgs/tools/graphics/dcraw/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { homepage = http://www.cybercom.net/~dcoffin/dcraw/; description = "Decoder for many camera raw picture formats"; license = stdenv.lib.licenses.free; - platforms = with stdenv.lib.platforms; allBut cygwin; + platforms = stdenv.lib.platforms.unix; # Once had cygwin problems maintainers = [ ]; }; } diff --git a/pkgs/tools/misc/mbuffer/default.nix b/pkgs/tools/misc/mbuffer/default.nix index e81fa7958b5c..ed6c08d55545 100644 --- a/pkgs/tools/misc/mbuffer/default.nix +++ b/pkgs/tools/misc/mbuffer/default.nix @@ -18,6 +18,6 @@ stdenv.mkDerivation rec { description = "A tool for buffering data streams with a large set of unique features"; license = stdenv.lib.licenses.gpl3; maintainers = with stdenv.lib.maintainers; [ tokudan ]; - platforms = with stdenv.lib.platforms; allBut darwin; + platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix }; } diff --git a/pkgs/tools/networking/dnscrypt-proxy/default.nix b/pkgs/tools/networking/dnscrypt-proxy/default.nix index 95bfdca6315a..6120b821bf41 100644 --- a/pkgs/tools/networking/dnscrypt-proxy/default.nix +++ b/pkgs/tools/networking/dnscrypt-proxy/default.nix @@ -32,6 +32,6 @@ stdenv.mkDerivation rec { license = licenses.isc; maintainers = with maintainers; [ joachifm jgeerds ]; # upstream claims OSX support, but Hydra fails - platforms = with platforms; allBut darwin; + platforms = platforms.linux; # Maybe other non-darwin Unix }; } diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix index 37812029c96c..77df8cbf6f7d 100644 --- a/pkgs/tools/networking/zerotierone/default.nix +++ b/pkgs/tools/networking/zerotierone/default.nix @@ -39,6 +39,6 @@ stdenv.mkDerivation rec { homepage = https://www.zerotier.com; license = licenses.gpl3; maintainers = with maintainers; [ sjmackenzie zimbatm ehmry ]; - platforms = platforms.allBut [ "i686-linux" ]; + platforms = platforms.x86_64 ++ platforms.aarch64; }; } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 370fe91f9983..7969765a95e4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13517,7 +13517,7 @@ in { homepage = https://pypi.python.org/pypi/PyICU/; description = "Python extension wrapping the ICU C++ API"; license = licenses.mit; - platforms = with platforms; allBut darwin; + platforms = platforms.linux; # Maybe other non-darwin Unix maintainers = [ maintainers.rycee ]; }; }; diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix index 87fb00a9682d..3e842f8b556b 100644 --- a/pkgs/top-level/release-lib.nix +++ b/pkgs/top-level/release-lib.nix @@ -108,7 +108,7 @@ rec { /* Common platform groups on which to test packages. */ - inherit (platforms) unix linux darwin cygwin allBut all mesaPlatforms; + inherit (platforms) unix linux darwin cygwin all mesaPlatforms; /* Platform groups for specific kinds of applications. */ x11Supported = linux; diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix index 391d79e47f18..e92ad47e1425 100644 --- a/pkgs/top-level/release-small.nix +++ b/pkgs/top-level/release-small.nix @@ -21,7 +21,7 @@ with import ./release-lib.nix { inherit supportedSystems; }; atlas = linux; autoconf = all; automake = all; - avahi = allBut cygwin; # Cygwin builds fail + avahi = unix; # Cygwin builds fail bash = all; bashInteractive = all; bc = all; @@ -54,7 +54,7 @@ with import ./release-lib.nix { inherit supportedSystems; }; gnumake = all; gnupatch = all; gnupg = linux; - gnuplot = allBut cygwin; + gnuplot = unix; # Cygwin builds fail gnused = all; gnutar = all; gnutls = linux; @@ -128,7 +128,7 @@ with import ./release-lib.nix { inherit supportedSystems; }; pkgconfig = all; pmccabe = linux; procps = linux; - python = allBut cygwin; + python = unix; # Cygwin builds fail readline = all; rlwrap = all; rpm = linux; @@ -138,9 +138,9 @@ with import ./release-lib.nix { inherit supportedSystems; }; scrot = linux; sdparm = linux; sharutils = all; - sloccount = allBut cygwin; + sloccount = unix; # Cygwin builds fail smartmontools = all; - sqlite = allBut cygwin; + sqlite = unix; # Cygwin builds fail squid = linux; ssmtp = linux; stdenv = all;