summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@viric.name>2015-03-06 15:43:32 +0000
committerLluís Batlle i Rossell <viric@viric.name>2015-03-06 15:43:32 +0000
commitd1e302121a1cbe4ead2573c8790a15ebec094af4 (patch)
tree28484de70bfcf806009e02b83bea045dcc152b71 /pkgs
parent13bd8f068fda84f500543d3bf3344e4091ab3a51 (diff)
parent0f4a9a58d8a9dec4a1cf10f0e9f04f075aaa5671 (diff)
downloadnixlib-d1e302121a1cbe4ead2573c8790a15ebec094af4.tar
nixlib-d1e302121a1cbe4ead2573c8790a15ebec094af4.tar.gz
nixlib-d1e302121a1cbe4ead2573c8790a15ebec094af4.tar.bz2
nixlib-d1e302121a1cbe4ead2573c8790a15ebec094af4.tar.lz
nixlib-d1e302121a1cbe4ead2573c8790a15ebec094af4.tar.xz
nixlib-d1e302121a1cbe4ead2573c8790a15ebec094af4.tar.zst
nixlib-d1e302121a1cbe4ead2573c8790a15ebec094af4.zip
Merging changes to make more things build on rpi2
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/interpreters/spidermonkey/17.0.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi.nix (renamed from pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix)8
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix11
-rw-r--r--pkgs/top-level/all-packages.nix6
-rw-r--r--pkgs/top-level/platforms.nix92
5 files changed, 113 insertions, 8 deletions
diff --git a/pkgs/development/interpreters/spidermonkey/17.0.nix b/pkgs/development/interpreters/spidermonkey/17.0.nix
index fc4546bc09e2..74f0fe2b83a4 100644
--- a/pkgs/development/interpreters/spidermonkey/17.0.nix
+++ b/pkgs/development/interpreters/spidermonkey/17.0.nix
@@ -31,6 +31,10 @@ stdenv.mkDerivation rec {
   preCheck = ''
     rm jit-test/tests/sunspider/check-date-format-tofte.js    # https://bugzil.la/600522
 
+    # Test broken on ARM. Fedora disables it.
+    # https://lists.fedoraproject.org/pipermail/scm-commits/Week-of-Mon-20130617/1041155.html
+    echo -e '#!${stdenv.shell}\nexit 0' > config/find_vanilla_new_calls
+
     paxmark m shell/js17
     paxmark mr jsapi-tests/jsapi-tests
   '';
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix
index 6d28c376078d..67a51dc767df 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -2,15 +2,17 @@
 
 let
 
-  rev = "7849605f5a";
+  rev = "fe4a83540ec73dfc298f16f027277355470ea9a0";
 
 in import ./generic.nix (args // rec {
-  version = "3.6.y-${rev}";
+  version = "3.18.y-${rev}";
+
+  modDirVersion = "3.18.7-v7";
 
   src = fetchurl {
     url = "https://api.github.com/repos/raspberrypi/linux/tarball/${rev}";
     name = "linux-raspberrypi-${version}.tar.gz";
-    sha256 = "1diwc5p6az6ipcldwmkq7hb5f15nvdgwzmypixc2vmzmc4ylarxl";
+    sha256 = "05gq40f038hxjqd3sdb1914g2bzw533dyxy59sgdpybs8801x2vb";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 6d9baed7f2dd..ea29c7f9e0c8 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -118,9 +118,12 @@ let
       # Some image types need special install targets (e.g. uImage is installed with make uinstall)
       installTargets = [ (if platform.kernelTarget == "uImage" then "uinstall" else "install") ];
 
-      postInstall = optionalString installsFirmware ''
+      postInstall = (optionalString installsFirmware ''
         mkdir -p $out/lib/firmware
-      '' + (if isModular then ''
+      '') + (if (platform ? kernelDTB && platform.kernelDTB) then ''
+ 	make $makeFlags "''${makeFlagsArray[@]}" dtbs
+        cp $buildRoot/arch/$karch/boot/dts/*dtb $out
+      '' else "") + (if isModular then ''
         make modules_install $makeFlags "''${makeFlagsArray[@]}" \
           $installFlags "''${installFlagsArray[@]}"
         unlink $out/lib/modules/${modDirVersion}/build
@@ -222,6 +225,8 @@ stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKe
     "ARCH=${stdenv.platform.kernelArch}"
   ];
 
+  karch = stdenv.platform.kernelArch;
+
   crossAttrs = let cp = stdenv.cross.platform; in
     (drvAttrs crossConfig cp (kernelPatches ++ crossKernelPatches) crossConfigfile) // {
       makeFlags = commonMakeFlags ++ [
@@ -229,6 +234,8 @@ stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKe
         "CROSS_COMPILE=$(crossConfig)-"
       ];
 
+      karch = cp.kernelArch;
+
       # !!! uboot has messed up cross-compiling, nativeDrv builds arm tools on x86,
       # crossDrv builds x86 tools on x86 (but arm uboot). If this is fixed, uboot
       # can just go into buildInputs (but not nativeBuildInputs since cp.uboot
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b3560d5f4428..f1d3983f8d42 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7061,7 +7061,7 @@ let
   poker-eval = callPackage ../development/libraries/poker-eval { };
 
   polkit = callPackage ../development/libraries/polkit {
-    spidermonkey = spidermonkey_185;
+    spidermonkey = spidermonkey_17;
   };
 
   polkit_qt4 = callPackage ../development/libraries/polkit-qt-1 {
@@ -8762,7 +8762,7 @@ let
       ];
   };
 
-  linux_3_6_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi-3.6.nix) {
+  linux_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi.nix) {
     inherit fetchurl stdenv perl buildLinux;
     kernelPatches = [ kernelPatches.bridge_stp_helper ];
   };
@@ -8982,7 +8982,7 @@ let
   # Build the kernel modules for the some of the kernels.
   linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2);
   linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4);
-  linuxPackages_3_6_rpi = linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi;
+  linuxPackages_rpi = linuxPackagesFor pkgs.linux_rpi linuxPackages_rpi;
   linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10);
   linuxPackages_3_10_tuxonice = linuxPackagesFor pkgs.linux_3_10_tuxonice linuxPackages_3_10_tuxonice;
   linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12);
diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix
index 20cc39692c0b..8bdc4f77302c 100644
--- a/pkgs/top-level/platforms.nix
+++ b/pkgs/top-level/platforms.nix
@@ -212,6 +212,98 @@ rec {
     };
   };
 
+  raspberrypi2 = {
+    name = "raspberrypi2";
+    kernelMajor = "3.14";
+    kernelHeadersBaseConfig = "kirkwood_defconfig";
+    kernelBaseConfig = "bcm2709_defconfig";
+    kernelArch = "arm";
+    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
+
+        # 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;
+    gcc = {
+      # For gcc 4.8, the best for rpi2 would be:
+      #   cpu = "cortex-a7";
+      #   fpu = "neon-vfpv4";
+      # But we prefer compatibility with the beaglebone, so both
+      # can run the same built store paths.
+      arch = "armv7-a";
+      fpu = "vfpv3-d16";
+      float = "hard";
+    };
+  };
+
   guruplug = sheevaplug // {
     # Define `CONFIG_MACH_GURUPLUG' (see
     # <http://kerneltrap.org/mailarchive/git-commits-head/2010/5/19/33618>)