diff options
author | John Ericson <Ericson2314@Yahoo.com> | 2017-02-08 21:27:22 -0500 |
---|---|---|
committer | John Ericson <Ericson2314@Yahoo.com> | 2017-04-17 17:13:01 -0400 |
commit | 22277893923cdf26004d83b608b7e1c3ca7030fb (patch) | |
tree | acfb682574364c067efd5916caa67b1a0d431955 /pkgs | |
parent | b477851f3427e3353d530ab0d47b63fe2686dd4b (diff) | |
download | nixlib-22277893923cdf26004d83b608b7e1c3ca7030fb.tar nixlib-22277893923cdf26004d83b608b7e1c3ca7030fb.tar.gz nixlib-22277893923cdf26004d83b608b7e1c3ca7030fb.tar.bz2 nixlib-22277893923cdf26004d83b608b7e1c3ca7030fb.tar.lz nixlib-22277893923cdf26004d83b608b7e1c3ca7030fb.tar.xz nixlib-22277893923cdf26004d83b608b7e1c3ca7030fb.tar.zst nixlib-22277893923cdf26004d83b608b7e1c3ca7030fb.zip |
lib: Collect system/platform related files
Previously, platforms was a random thing in top-level
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 | ||||
-rw-r--r-- | pkgs/top-level/default.nix | 2 | ||||
-rw-r--r-- | pkgs/top-level/platforms.nix | 486 | ||||
-rw-r--r-- | pkgs/top-level/release-cross.nix | 4 |
4 files changed, 4 insertions, 490 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 802081cd7f93..11816f580dad 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 3e3ecdeea6cb..48dbe7118bc2 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/platforms.nix b/pkgs/top-level/platforms.nix deleted file mode 100644 index 665950766f7e..000000000000 --- a/pkgs/top-level/platforms.nix +++ /dev/null @@ -1,486 +0,0 @@ -rec { - pcBase = { - name = "pc"; - uboot = null; - kernelHeadersBaseConfig = "defconfig"; - kernelBaseConfig = "defconfig"; - # Build whatever possible as a module, if not stated in the extra config. - kernelAutoModules = true; - kernelTarget = "bzImage"; - }; - - pc64 = pcBase // { kernelArch = "x86_64"; }; - - pc32 = pcBase // { kernelArch = "i386"; }; - - pc32_simplekernel = pc32 // { - kernelAutoModules = false; - }; - - pc64_simplekernel = pc64 // { - kernelAutoModules = false; - }; - - sheevaplug = { - name = "sheevaplug"; - kernelMajor = "2.6"; - kernelHeadersBaseConfig = "multi_v5_defconfig"; - kernelBaseConfig = "multi_v5_defconfig"; - kernelArch = "arm"; - kernelAutoModules = false; - kernelExtraConfig = '' - BLK_DEV_RAM y - BLK_DEV_INITRD y - BLK_DEV_CRYPTOLOOP m - BLK_DEV_DM m - DM_CRYPT m - MD y - REISERFS_FS m - BTRFS_FS m - XFS_FS m - JFS_FS m - EXT4_FS m - USB_STORAGE_CYPRESS_ATACB m - - # mv cesa requires this sw fallback, for mv-sha1 - CRYPTO_SHA1 y - # Fast crypto - CRYPTO_TWOFISH y - CRYPTO_TWOFISH_COMMON y - CRYPTO_BLOWFISH y - CRYPTO_BLOWFISH_COMMON y - - IP_PNP y - IP_PNP_DHCP y - NFS_FS y - ROOT_NFS y - TUN m - NFS_V4 y - NFS_V4_1 y - NFS_FSCACHE y - NFSD m - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - NETFILTER y - IP_NF_IPTABLES y - IP_NF_FILTER y - IP_NF_MATCH_ADDRTYPE y - IP_NF_TARGET_LOG y - IP_NF_MANGLE y - IPV6 m - VLAN_8021Q m - - CIFS y - CIFS_XATTR y - CIFS_POSIX y - CIFS_FSCACHE y - CIFS_ACL y - - WATCHDOG y - WATCHDOG_CORE y - ORION_WATCHDOG m - - ZRAM m - NETCONSOLE m - - # Disable OABI to have seccomp_filter (required for systemd) - # https://github.com/raspberrypi/firmware/issues/651 - OABI_COMPAT n - - # Fail to build - DRM n - SCSI_ADVANSYS n - USB_ISP1362_HCD n - SND_SOC n - SND_ALI5451 n - FB_SAVAGE n - SCSI_NSP32 n - ATA_SFF n - SUNGEM n - IRDA n - ATM_HE n - SCSI_ACARD n - BLK_DEV_CMD640_ENHANCED n - - FUSE_FS m - - # systemd uses cgroups - CGROUPS y - - # Latencytop - LATENCYTOP y - - # Ubi for the mtd - MTD_UBI y - UBIFS_FS y - UBIFS_FS_XATTR y - UBIFS_FS_ADVANCED_COMPR y - UBIFS_FS_LZO y - UBIFS_FS_ZLIB y - UBIFS_FS_DEBUG n - - # Kdb, for kernel troubles - KGDB y - KGDB_SERIAL_CONSOLE y - KGDB_KDB y - ''; - kernelMakeFlags = [ "LOADADDR=0x0200000" ]; - kernelTarget = "uImage"; - uboot = "sheevaplug"; - # Only for uboot = uboot : - ubootConfig = "sheevaplug_config"; - kernelDTB = true; # Beyond 3.10 - gcc = { - arch = "armv5te"; - float = "soft"; - }; - }; - - raspberrypi = { - name = "raspberrypi"; - kernelMajor = "2.6"; - kernelHeadersBaseConfig = "bcm2835_defconfig"; - kernelBaseConfig = "bcmrpi_defconfig"; - kernelDTB = true; - kernelArch = "arm"; - kernelAutoModules = false; - kernelExtraConfig = '' - BLK_DEV_RAM y - BLK_DEV_INITRD y - BLK_DEV_CRYPTOLOOP m - BLK_DEV_DM m - DM_CRYPT m - MD y - REISERFS_FS m - BTRFS_FS y - XFS_FS m - JFS_FS y - EXT4_FS y - - IP_PNP y - IP_PNP_DHCP y - NFS_FS y - ROOT_NFS y - TUN m - NFS_V4 y - NFS_V4_1 y - NFS_FSCACHE y - NFSD m - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - NETFILTER y - IP_NF_IPTABLES y - IP_NF_FILTER y - IP_NF_MATCH_ADDRTYPE y - IP_NF_TARGET_LOG y - IP_NF_MANGLE y - IPV6 m - VLAN_8021Q m - - CIFS y - CIFS_XATTR y - CIFS_POSIX y - CIFS_FSCACHE y - CIFS_ACL y - - ZRAM m - - # Disable OABI to have seccomp_filter (required for systemd) - # https://github.com/raspberrypi/firmware/issues/651 - OABI_COMPAT n - - # Fail to build - DRM n - SCSI_ADVANSYS n - USB_ISP1362_HCD n - SND_SOC n - SND_ALI5451 n - FB_SAVAGE n - SCSI_NSP32 n - ATA_SFF n - SUNGEM n - IRDA n - ATM_HE n - SCSI_ACARD n - BLK_DEV_CMD640_ENHANCED n - - FUSE_FS m - - # nixos mounts some cgroup - CGROUPS y - - # Latencytop - LATENCYTOP y - ''; - kernelTarget = "zImage"; - uboot = null; - gcc = { - arch = "armv6"; - fpu = "vfp"; - float = "hard"; - }; - }; - - raspberrypi2 = armv7l-hf-multiplatform // { - name = "raspberrypi2"; - kernelBaseConfig = "bcm2709_defconfig"; - kernelDTB = true; - kernelAutoModules = false; - kernelExtraConfig = '' - BLK_DEV_RAM y - BLK_DEV_INITRD y - BLK_DEV_CRYPTOLOOP m - BLK_DEV_DM m - DM_CRYPT m - MD y - REISERFS_FS m - BTRFS_FS y - XFS_FS m - JFS_FS y - EXT4_FS y - - IP_PNP y - IP_PNP_DHCP y - NFS_FS y - ROOT_NFS y - TUN m - NFS_V4 y - NFS_V4_1 y - NFS_FSCACHE y - NFSD m - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - NETFILTER y - IP_NF_IPTABLES y - IP_NF_FILTER y - IP_NF_MATCH_ADDRTYPE y - IP_NF_TARGET_LOG y - IP_NF_MANGLE y - IPV6 m - VLAN_8021Q m - - CIFS y - CIFS_XATTR y - CIFS_POSIX y - CIFS_FSCACHE y - CIFS_ACL y - - ZRAM m - - # Disable OABI to have seccomp_filter (required for systemd) - # https://github.com/raspberrypi/firmware/issues/651 - OABI_COMPAT n - - # Fail to build - DRM n - SCSI_ADVANSYS n - USB_ISP1362_HCD n - SND_SOC n - SND_ALI5451 n - FB_SAVAGE n - SCSI_NSP32 n - ATA_SFF n - SUNGEM n - IRDA n - ATM_HE n - SCSI_ACARD n - BLK_DEV_CMD640_ENHANCED n - - FUSE_FS m - - # nixos mounts some cgroup - CGROUPS y - - # Latencytop - LATENCYTOP y - - # Disable the common config Xen, it doesn't build on ARM - XEN? n - ''; - kernelTarget = "zImage"; - uboot = null; - }; - - guruplug = sheevaplug // { - # Define `CONFIG_MACH_GURUPLUG' (see - # <http://kerneltrap.org/mailarchive/git-commits-head/2010/5/19/33618>) - # and other GuruPlug-specific things. Requires the `guruplug-defconfig' - # patch. - - kernelBaseConfig = "guruplug_defconfig"; - #kernelHeadersBaseConfig = "guruplug_defconfig"; - }; - - fuloong2f_n32 = { - name = "fuloong2f_n32"; - kernelMajor = "2.6"; - kernelHeadersBaseConfig = "fuloong2e_defconfig"; - kernelBaseConfig = "lemote2f_defconfig"; - kernelArch = "mips"; - kernelAutoModules = false; - kernelExtraConfig = '' - MIGRATION n - COMPACTION n - - # nixos mounts some cgroup - CGROUPS y - - BLK_DEV_RAM y - BLK_DEV_INITRD y - BLK_DEV_CRYPTOLOOP m - BLK_DEV_DM m - DM_CRYPT m - MD y - REISERFS_FS m - EXT4_FS m - USB_STORAGE_CYPRESS_ATACB m - - IP_PNP y - IP_PNP_DHCP y - IP_PNP_BOOTP y - NFS_FS y - ROOT_NFS y - TUN m - NFS_V4 y - NFS_V4_1 y - NFS_FSCACHE y - NFSD m - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - - # Fail to build - DRM n - SCSI_ADVANSYS n - USB_ISP1362_HCD n - SND_SOC n - SND_ALI5451 n - FB_SAVAGE n - SCSI_NSP32 n - ATA_SFF n - SUNGEM n - IRDA n - ATM_HE n - SCSI_ACARD n - BLK_DEV_CMD640_ENHANCED n - - FUSE_FS m - - # Needed for udev >= 150 - SYSFS_DEPRECATED_V2 n - - VGA_CONSOLE n - VT_HW_CONSOLE_BINDING y - SERIAL_8250_CONSOLE y - FRAMEBUFFER_CONSOLE y - EXT2_FS y - EXT3_FS y - REISERFS_FS y - MAGIC_SYSRQ y - - # The kernel doesn't boot at all, with FTRACE - FTRACE n - ''; - kernelTarget = "vmlinux"; - uboot = null; - gcc.arch = "loongson2f"; - }; - - beaglebone = armv7l-hf-multiplatform // { - name = "beaglebone"; - kernelBaseConfig = "omap2plus_defconfig"; - kernelAutoModules = false; - kernelExtraConfig = ""; # TBD kernel config - kernelTarget = "zImage"; - uboot = null; - }; - - armv7l-hf-multiplatform = { - name = "armv7l-hf-multiplatform"; - kernelMajor = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc. - kernelHeadersBaseConfig = "multi_v7_defconfig"; - kernelBaseConfig = "multi_v7_defconfig"; - kernelArch = "arm"; - kernelDTB = true; - kernelAutoModules = true; - kernelPreferBuiltin = true; - uboot = null; - kernelTarget = "zImage"; - kernelExtraConfig = '' - # Fix broken sunxi-sid nvmem driver. - TI_CPTS y - - # Hangs ODROID-XU4 - ARM_BIG_LITTLE_CPUIDLE n - ''; - gcc = { - # Some table about fpu flags: - # http://community.arm.com/servlet/JiveServlet/showImage/38-1981-3827/blogentry-103749-004812900+1365712953_thumb.png - # Cortex-A5: -mfpu=neon-fp16 - # Cortex-A7 (rpi2): -mfpu=neon-vfpv4 - # Cortex-A8 (beaglebone): -mfpu=neon - # Cortex-A9: -mfpu=neon-fp16 - # Cortex-A15: -mfpu=neon-vfpv4 - - # More about FPU: - # https://wiki.debian.org/ArmHardFloatPort/VfpComparison - - # vfpv3-d16 is what Debian uses and seems to be the best compromise: NEON is not supported in e.g. Scaleway or Tegra 2, - # and the above page suggests NEON is only an improvement with hand-written assembly. - arch = "armv7-a"; - fpu = "vfpv3-d16"; - float = "hard"; - - # For Raspberry Pi the 2 the best would be: - # cpu = "cortex-a7"; - # fpu = "neon-vfpv4"; - }; - }; - - aarch64-multiplatform = { - name = "aarch64-multiplatform"; - kernelMajor = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc. - kernelHeadersBaseConfig = "defconfig"; - kernelBaseConfig = "defconfig"; - kernelArch = "arm64"; - kernelDTB = true; - kernelAutoModules = true; - kernelPreferBuiltin = true; - kernelExtraConfig = '' - # Raspberry Pi 3 stuff. Not needed for kernels >= 4.10. - ARCH_BCM2835 y - BCM2835_MBOX y - BCM2835_WDT y - RASPBERRYPI_FIRMWARE y - RASPBERRYPI_POWER y - SERIAL_8250_BCM2835AUX y - SERIAL_8250_EXTENDED y - SERIAL_8250_SHARE_IRQ y - - # Cavium ThunderX stuff. - PCI_HOST_THUNDER_ECAM y - ''; - uboot = null; - kernelTarget = "Image"; - gcc = { - arch = "armv8-a"; - }; - }; - - selectPlatformBySystem = system: { - "i686-linux" = pc32; - "x86_64-linux" = pc64; - "armv5tel-linux" = sheevaplug; - "armv6l-linux" = raspberrypi; - "armv7l-linux" = armv7l-hf-multiplatform; - "aarch64-linux" = aarch64-multiplatform; - "mips64el-linux" = fuloong2f_n32; - }.${system} or pcBase; -} diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 2b6cdd049740..c68c7d3721e2 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"; |