diff --git a/lib/default.nix b/lib/default.nix index 09a64f754d8..9dfaa46ec3b 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -22,8 +22,7 @@ let # constants licenses = import ./licenses.nix; - platforms = import ./platforms.nix; - systems = import ./systems.nix; + systems = import ./systems; # misc debug = import ./debug.nix; @@ -42,13 +41,15 @@ in attrsets lists strings stringsWithDeps customisation maintainers meta sources modules options types - licenses platforms systems + licenses systems debug generators misc sandbox fetchers filesystem; + + # back-compat aliases + platforms = systems.doubles; } # !!! don't include everything at top-level; perhaps only the most # commonly used functions. // trivial // lists // strings // stringsWithDeps // attrsets // sources // options // types // meta // debug // misc // modules - // systems // customisation diff --git a/lib/systems/default.nix b/lib/systems/default.nix new file mode 100644 index 00000000000..70d431837da --- /dev/null +++ b/lib/systems/default.nix @@ -0,0 +1,5 @@ +rec { + doubles = import ./doubles.nix; + parse = import ./parse.nix; + platforms = import ./platforms.nix; +} diff --git a/lib/platforms.nix b/lib/systems/doubles.nix similarity index 96% rename from lib/platforms.nix rename to lib/systems/doubles.nix index 6b56e1734ad..945147fe7cf 100644 --- a/lib/platforms.nix +++ b/lib/systems/doubles.nix @@ -1,4 +1,4 @@ -let lists = import ./lists.nix; in +let lists = import ../lists.nix; in rec { all = linux ++ darwin ++ cygwin ++ freebsd ++ openbsd ++ netbsd ++ illumos; diff --git a/lib/systems.nix b/lib/systems/parse.nix similarity index 97% rename from lib/systems.nix rename to lib/systems/parse.nix index 92d8bdf892b..410995f8a5d 100644 --- a/lib/systems.nix +++ b/lib/systems/parse.nix @@ -1,9 +1,9 @@ # Define the list of system with their properties. Only systems tested for # Nixpkgs are listed below -with import ./lists.nix; -with import ./types.nix; -with import ./attrsets.nix; +with import ../lists.nix; +with import ../types.nix; +with import ../attrsets.nix; let lib = import ./default.nix; diff --git a/pkgs/top-level/platforms.nix b/lib/systems/platforms.nix similarity index 100% rename from pkgs/top-level/platforms.nix rename to lib/systems/platforms.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 802081cd7f9..11816f580da 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -303,7 +303,7 @@ with pkgs; composableDerivation = callPackage ../../lib/composable-derivation.nix { }; - platforms = import ./platforms.nix; + inherit (lib.systems) platforms; setJavaClassPath = makeSetupHook { } ../build-support/setup-hooks/set-java-classpath.sh; diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix index 3e3ecdeea6c..48dbe7118bc 100644 --- a/pkgs/top-level/default.nix +++ b/pkgs/top-level/default.nix @@ -55,7 +55,7 @@ in let # Allow setting the platform in the config file. Otherwise, let's use a # reasonable default. localSystem = - { platform = (import ./platforms.nix).selectPlatformBySystem args.localSystem.system; } + { platform = lib.systems.platforms.selectPlatformBySystem args.localSystem.system; } // builtins.intersectAttrs { platform = null; } config // args.localSystem; diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 2b6cdd04974..c68c7d3721e 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -136,7 +136,7 @@ in float = "hard"; withTLS = true; libc = "glibc"; - platform = pkgs.platforms.fuloong2f_n32; + platform = lib.platforms.fuloong2f_n32; openssl.system = "linux-generic32"; gcc = { arch = "loongson2f"; @@ -160,7 +160,7 @@ in fpu = "vfp"; withTLS = true; libc = "glibc"; - platform = pkgs.platforms.raspberrypi; + platform = lib.platforms.raspberrypi; openssl.system = "linux-generic32"; gcc = { arch = "armv6";