summary refs log tree commit diff
path: root/pkgs/os-specific/linux
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux')
-rw-r--r--pkgs/os-specific/linux/alsa-lib/default.nix4
-rw-r--r--pkgs/os-specific/linux/ati-drivers/builder.sh26
-rw-r--r--pkgs/os-specific/linux/ati-drivers/default.nix50
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5.nix16
-rw-r--r--pkgs/os-specific/linux/firmware/zd1211/default.nix7
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.5.nix4
-rw-r--r--pkgs/os-specific/linux/pm-utils/default.nix2
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix9
-rw-r--r--pkgs/os-specific/linux/util-linux/rtcwake-search-PATH-for-shutdown.patch29
-rw-r--r--pkgs/os-specific/linux/v4l-utils/default.nix8
11 files changed, 80 insertions, 79 deletions
diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix
index d2637f99119..985d04299db 100644
--- a/pkgs/os-specific/linux/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-lib/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "alsa-lib-1.1.0";
+  name = "alsa-lib-1.1.1";
 
   src = fetchurl {
     urls = [
      "ftp://ftp.alsa-project.org/pub/lib/${name}.tar.bz2"
      "http://alsa.cybermirror.org/lib/${name}.tar.bz2"
     ];
-    sha256 = "dfde65d11e82b68f82e562ab6228c1fb7c78854345d3c57e2c68a9dd3dae1f15";
+    sha256 = "0sa24fy3qf3jg63xxvfb7j8halj1qmdbcak2lyfx8bpd8hqnriwa";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh
index 844f30e0c60..4394e785960 100644
--- a/pkgs/os-specific/linux/ati-drivers/builder.sh
+++ b/pkgs/os-specific/linux/ati-drivers/builder.sh
@@ -1,4 +1,3 @@
-# What is LIBGL_DRIVERS_PATH used for?
 # TODO gentoo removes some tools because there are xorg sources (?)
 
 source $stdenv/setup
@@ -6,15 +5,10 @@ set -x
 
 die(){ echo $@; exit 1; }
 
-mkdir fglrx # custom unpack:
-cd fglrx
 unzip $src
-cd ..
-run_file=$(echo fglrx/amd-driver-installer-*)
+run_file=fglrx-$build/amd-driver-installer-$build-x86.x86_64.run
 sh $run_file --extract .
 
-eval "$patchPhase1"
-
 case "$system" in
   x86_64-linux)
     arch=x86_64
@@ -33,9 +27,9 @@ esac
 
 if test -z "$libsOnly"; then
 
-  kernelVersion=$(cd ${kernel}/lib/modules && ls)
-  kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/build)
-  linuxsources=$(echo ${kernel}/lib/modules/$kernelVersion/source)
+  kernelVersion=$(cd ${kernelDir}/lib/modules && ls)
+  kernelBuild=$(echo ${kernelDir}/lib/modules/$kernelVersion/build)
+  linuxsources=$(echo ${kernelDir}/lib/modules/$kernelVersion/source)
 
   # note: maybe the .config file should be used to determine this ?
   # current kbuild infrastructure allows using CONFIG_* defines
@@ -231,7 +225,7 @@ fi
     fglrx_dri.so \
     libaticaldd.so
   do
-    patchelf --set-rpath $gcc/$lib_arch/ $out/lib/$pelib2
+    patchelf --set-rpath $glibcDir/lib/:$libStdCxx/lib/ $out/lib/$pelib2
   done
 }
 
@@ -245,12 +239,12 @@ if test -z "$libsOnly"; then
   eval "$patchPhaseSamples"
 
   ( # build and install fgl_glxgears
-    cd fgl_glxgears; 
+    cd fgl_glxgears;
     gcc -DGL_ARB_texture_multisample=1 -g \
     -I$mesa/include \
     -I$out/include \
     -L$mesa/lib -lGL -lGLU -lX11 -lm \
-    -o $out/bin/fgl_glxgears -Wall  fgl_glxgears.c
+    -o $out/bin/fgl_glxgears -Wall fgl_glxgears.c
   )
 
   true || ( # build and install
@@ -267,12 +261,12 @@ if test -z "$libsOnly"; then
 	    -I${xf86vidmodeproto}/include \
 	    -I$out/X11R6/include \
 	    -L$out/lib \
-	    -Wall -lm -lfglrx_gamma -lX11 -lXext -o $out/bin/fglrx_xgamma fglrx_xgamma.c 
+	    -Wall -lm -lfglrx_gamma -lX11 -lXext -o $out/bin/fglrx_xgamma fglrx_xgamma.c
   )
 
   {
     # patch and copy statically linked qt libs used by amdcccle
-    patchelf --set-interpreter $(echo $glibc/lib/ld-linux*.so.2) $TMP/arch/$arch/usr/share/ati/$lib_arch/libQtCore.so.4 &&
+    patchelf --set-interpreter $(echo $glibcDir/lib/ld-linux*.so.2) $TMP/arch/$arch/usr/share/ati/$lib_arch/libQtCore.so.4 &&
     patchelf  --set-rpath $gcc/$lib_arch/ $TMP/arch/$arch/usr/share/ati/$lib_arch/libQtCore.so.4 &&
     patchelf --set-rpath $gcc/$lib_arch/:$out/share/ati/:$libXrender/lib/:$libSM/lib/:$libICE/lib/:$libfontconfig/lib/:$libfreetype/lib/ $TMP/arch/$arch/usr/share/ati/$lib_arch/libQtGui.so.4 &&
     mkdir -p $out/share/ati
@@ -285,7 +279,7 @@ if test -z "$libsOnly"; then
     patchelf --shrink-rpath $BIN/amdcccle
     for prog in $BIN/*; do
       cp -f $prog $out/bin &&
-      patchelf --set-interpreter $(echo $glibc/lib/ld-linux*.so.2) $out/bin/$(basename $prog) &&
+      patchelf --set-interpreter $(echo $glibcDir/lib/ld-linux*.so.2) $out/bin/$(basename $prog) &&
       wrapProgram $out/bin/$(basename $prog) --prefix LD_LIBRARY_PATH : $out/lib/:$gcc/lib/:$out/share/ati/:$libXinerama/lib/:$libXrandr/lib/:$libfontconfig/lib/:$libfreetype/lib/:$LD_LIBRARY_PATH
     done
   }
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index 78903da1f1a..a4f8b707c08 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -11,10 +11,6 @@ assert (!libsOnly) -> kernel != null;
 
 with stdenv.lib;
 
-let
-  version = "15.7";
-in
-
 # This derivation requires a maximum of gcc49, Linux kernel 4.1 and xorg.xserver 1.17
 # and will not build or run using versions newer
 
@@ -31,11 +27,14 @@ in
 
 # http://wiki.cchtml.com/index.php/Main_Page
 
-# 
 # /usr/lib/dri/fglrx_dri.so must point to /run/opengl-driver/lib/fglrx_dri.so
 # This is done in the builder script.
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
+
+  version = "15.12";
+  pname = "ati-drivers";
+  build = "15.302";
 
   linuxonly =
     if stdenv.system == "i686-linux" then
@@ -44,7 +43,7 @@ stdenv.mkDerivation {
       true
     else throw "ati-drivers are Linux only. Sorry. The build was stopped.";
 
-  name = "ati-drivers-${version}" + (optionalString (!libsOnly) "-${kernel.version}");
+  name = pname + "-" + version + (optionalString (!libsOnly) "-${kernelDir.version}");
 
   builder = ./builder.sh;
   gcc = stdenv.cc.cc;
@@ -57,15 +56,16 @@ stdenv.mkDerivation {
   libICE = xorg.libICE;
   libfreetype = freetype;
   libfontconfig = fontconfig;
+  libStdCxx = stdenv.cc.cc.lib;
 
   src = fetchurl {
-    url = "http://www2.ati.com/drivers/linux/amd-driver-installer-15.20.1046-x86.x86_64.zip";
-    sha256 = "ffde64203f49d9288eaa25f4d744187b6f4f14a87a444bab6a001d822b327a9d";
-    curlOpts = "--referer http://support.amd.com/en-us/download/desktop?os=Linux%20x86_64";
+    url =
+    "https://www2.ati.com/drivers/linux/radeon-crimson-15.12-15.302-151217a-297685e.zip";
+    sha256 = "0n0ynqmjkjp5dl5q07as7ps3rlyyn63hq4mlwgd7c7v82ky2skvh";
+    curlOpts = "--referer http://support.amd.com/en-us/download/desktop?os=Linux+x86_64";
   };
 
   patchPhaseSamples = "patch -p2 < ${./patch-samples.patch}";
-  patchPhase1 = "patch -p1 < ${./kernel-api-fixes.patch}";
 
   buildInputs =
     [ xorg.libXrender xorg.libXext xorg.libX11 xorg.libXinerama xorg.libSM
@@ -81,28 +81,28 @@ stdenv.mkDerivation {
 
   inherit libsOnly;
 
-  kernel = if libsOnly then null else kernel.dev;
+  kernelDir = if libsOnly then null else kernel.dev;
 
-  inherit glibc /* glibc only used for setting interpreter */;
+  # glibc only used for setting the binaries interpreter
+  glibcDir = glibc.out;
 
   # outputs TODO: probably many fixes are needed;
-  # this in particular would be much better by lib.makeLibraryPath
-  LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":"
-    [ "${xorg.libXrandr.out}/lib/"
-      "${xorg.libXrender.out}/lib/"
-      "${xorg.libXext.out}/lib/"
-      "${xorg.libX11.out}/lib/"
-      "${xorg.libXinerama.out}/lib/"
-      "${xorg.libSM.out}/lib/"
-      "${xorg.libICE.out}/lib/"
-      "${stdenv.cc.cc.out}/lib/"
+  LD_LIBRARY_PATH = makeLibraryPath
+    [ xorg.libXrender xorg.libXext xorg.libX11 xorg.libXinerama xorg.libSM
+      xorg.libXrandr xorg.libXxf86vm xorg.xf86vidmodeproto xorg.imake xorg.libICE
+      mesa
+      fontconfig
+      freetype
+      stdenv.cc.cc
     ];
 
   # without this some applications like blender don't start, but they start
   # with nvidia. This causes them to be symlinked to $out/lib so that they
   # appear in /run/opengl-driver/lib which get's added to LD_LIBRARY_PATH
 
-  extraDRIlibs = [ xorg.libXrandr xorg.libXrender xorg.libXext xorg.libX11 xorg.libXinerama xorg.libSM xorg.libICE ];
+  extraDRIlibs = [ xorg.libXrandr.out xorg.libXrender.out xorg.libXext.out
+                   xorg.libX11.out xorg.libXinerama.out xorg.libSM.out 
+                   xorg.libICE.out ];
 
   inherit mesa; # only required to build the examples
 
@@ -119,6 +119,4 @@ stdenv.mkDerivation {
     priority = 4;
   };
 
-
-
 }
diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix
index 9750a2a7649..a7e36d21dd4 100644
--- a/pkgs/os-specific/linux/bluez/bluez5.nix
+++ b/pkgs/os-specific/linux/bluez/bluez5.nix
@@ -6,7 +6,7 @@ assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
   name = "bluez-5.37";
-   
+
   src = fetchurl {
     url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
     sha256 = "c14ba9ddcb0055522073477b8fd8bf1ddf5d219e75fdfd4699b7e0ce5350d6b0";
@@ -20,11 +20,13 @@ stdenv.mkDerivation rec {
       readline libsndfile udev libical
       # Disables GStreamer; not clear what it gains us other than a
       # zillion extra dependencies.
-      # gstreamer gst_plugins_base 
+      # gstreamer gst_plugins_base
     ];
 
+  outputs = [ "dev" "out" "test" ];
+
   patches = [ ./bluez-5.37-obexd_without_systemd-1.patch ];
-    
+
   preConfigure = ''
       substituteInPlace tools/hid2hci.rules --replace /sbin/udevadm ${systemd}/bin/udevadm
       substituteInPlace tools/hid2hci.rules --replace "hid2hci " "$out/lib/udev/hid2hci "
@@ -51,9 +53,9 @@ stdenv.mkDerivation rec {
   # FIXME: Move these into a separate package to prevent Bluez from
   # depending on Python etc.
   postInstall = ''
-    mkdir $out/test
-    cp -a test $out
-    pushd $out/test
+    mkdir -p $test/test
+    cp -a test $test
+    pushd $test/test
     for a in \
             simple-agent \
             test-adapter \
@@ -65,7 +67,7 @@ stdenv.mkDerivation rec {
       ln -s ../test/$a $out/bin/bluez-$a
     done
     popd
-    wrapPythonProgramsIn $out/test "$out/test $pythonPath"
+    wrapPythonProgramsIn $test/test "$test/test $pythonPath"
 
     # for bluez4 compatibility for NixOS
     mkdir $out/sbin
diff --git a/pkgs/os-specific/linux/firmware/zd1211/default.nix b/pkgs/os-specific/linux/firmware/zd1211/default.nix
index 19cbdecca0c..2298cbd13c5 100644
--- a/pkgs/os-specific/linux/firmware/zd1211/default.nix
+++ b/pkgs/os-specific/linux/firmware/zd1211/default.nix
@@ -11,9 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "04ibs0qw8bh6h6zmm5iz6lddgknwhsjq8ib3gyck6a7psw83h7gi";
   };
 
-  buildPhase = "true";
+  dontBuild = true;
 
-  installPhase = "mkdir -p $out/lib/firmware/zd1211; cp * $out/lib/firmware/zd1211";
+  installPhase = ''
+    mkdir -p $out/lib/firmware/zd1211
+    cp * $out/lib/firmware/zd1211
+  '';
 
   meta = {
     description = "Firmware for the ZyDAS ZD1211(b) 802.11a/b/g USB WLAN chip";
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index ab41e369b6a..bd7c7f636f8 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.4.9";
+  version = "4.4.10";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1fgkcl1dgljb4s8ciwc4gpz5g92cf6x31rj7016bd6r0hmvcl1bn";
+    sha256 = "1kpjvvd9q9wwr3314q5ymvxii4dv2d27295bzly225wlc552xhja";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.5.nix b/pkgs/os-specific/linux/kernel/linux-4.5.nix
index 469ca05bb91..09bd490ccfe 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.5.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.5.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.5.3";
+  version = "4.5.4";
   extraMeta.branch = "4.5";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1z0265cxv63br147vridmcqbz3cx3q3finy40hwljwv1r2lggid4";
+    sha256 = "1s0mhhxx2sw93a9cin5mvjl82ah93a4sa2lfkvs6ay73mw3ifp2p";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/pm-utils/default.nix b/pkgs/os-specific/linux/pm-utils/default.nix
index cb74dc204a3..e2257642d0b 100644
--- a/pkgs/os-specific/linux/pm-utils/default.nix
+++ b/pkgs/os-specific/linux/pm-utils/default.nix
@@ -6,7 +6,7 @@ let
   binPath = stdenv.lib.makeBinPath
     [ coreutils gnugrep utillinux kmod procps kbd dbus_tools ];
 
-  sbinPath = stdenv.lib.makeSearchPathOutputs "sbin" ["bin"]
+  sbinPath = stdenv.lib.makeSearchPathOutput "bin" "sbin"
     [ procps ];
 
 in
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index 263fa4490dc..62290df1a6e 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, pkgconfig, zlib, ncurses ? null, perl ? null, pam, systemd }:
 
 stdenv.mkDerivation rec {
-  name = "util-linux-2.27.1";
+  name = "util-linux-${version}";
+  version = "2.28";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/utils/util-linux/v2.27/${name}.tar.xz";
-    sha256 = "1452hz5zx56a3mad8yrg5wb0vy5zi19mpjp6zx1yr6p9xp6qz08a";
+    url = "mirror://kernel/linux/utils/util-linux/v${version}/${name}.tar.xz";
+    sha512 = "251zv6lk6b8ip38w2h0w2rpnly38nzh96945mbpssvwjv8fgr5bnhj3207aingyybik79761zngk981wl0rblq5f7l5v655znyi3yd1";
   };
 
   patches = [
@@ -63,7 +64,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = http://www.kernel.org/pub/linux/utils/util-linux/;
+    homepage = https://www.kernel.org/pub/linux/utils/util-linux/;
     description = "A set of system utilities for Linux";
     license = licenses.gpl2; # also contains parts under more permissive licenses
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/util-linux/rtcwake-search-PATH-for-shutdown.patch b/pkgs/os-specific/linux/util-linux/rtcwake-search-PATH-for-shutdown.patch
index 68970c655f1..3615984ed0c 100644
--- a/pkgs/os-specific/linux/util-linux/rtcwake-search-PATH-for-shutdown.patch
+++ b/pkgs/os-specific/linux/util-linux/rtcwake-search-PATH-for-shutdown.patch
@@ -3,23 +3,24 @@ which isn't valid on NixOS (and a compatibility link on most other modern
 distros anyway).
 
   -- nckx <tobias.geerinckx.rice@gmail.com>
-
-diff -ru util-linux-2.27-orig/include/pathnames.h util-linux-2.27/include/pathnames.h
---- util-linux-2.27-orig/include/pathnames.h	2015-06-29 13:13:14.669847478 +0200
-+++ util-linux-2.27/include/pathnames.h	2015-10-07 20:09:17.401022602 +0200
-@@ -54,7 +54,7 @@
- #define _PATH_INITTAB		"/etc/inittab"
- #define _PATH_RC		"/etc/rc"
- #define _PATH_REBOOT		"/sbin/reboot"
+diff --git a/include/pathnames.h b/include/pathnames.h
+index de6a13c..0c1aeb9 100644
+--- a/include/pathnames.h
++++ b/include/pathnames.h
+@@ -50,7 +50,7 @@
+ #define	_PATH_VAR_NOLOGIN	"/var/run/nologin"
+ 
+ #define _PATH_LOGIN		"/bin/login"
 -#define _PATH_SHUTDOWN		"/sbin/shutdown"
 +#define _PATH_SHUTDOWN		"shutdown"
- #define _PATH_SINGLE		"/etc/singleboot"
- #define _PATH_SHUTDOWN_CONF	"/etc/shutdown.conf"
  
-diff -ru util-linux-2.27-orig/sys-utils/rtcwake.c util-linux-2.27/sys-utils/rtcwake.c
---- util-linux-2.27-orig/sys-utils/rtcwake.c	2015-08-05 11:32:44.453821232 +0200
-+++ util-linux-2.27/sys-utils/rtcwake.c	2015-10-07 20:09:37.834032536 +0200
-@@ -576,7 +576,7 @@
+ #define _PATH_TERMCOLORS_DIRNAME "terminal-colors.d"
+ #define _PATH_TERMCOLORS_DIR	"/etc/" _PATH_TERMCOLORS_DIRNAME
+diff --git a/sys-utils/rtcwake.c b/sys-utils/rtcwake.c
+index 7c748dc..9a99a7c 100644
+--- a/sys-utils/rtcwake.c
++++ b/sys-utils/rtcwake.c
+@@ -575,7 +575,7 @@ int main(int argc, char **argv)
  		arg[i++] = "now";
  		arg[i]   = NULL;
  		if (!ctl.dryrun) {
diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix
index 17b21f92c17..476f3ffcac6 100644
--- a/pkgs/os-specific/linux/v4l-utils/default.nix
+++ b/pkgs/os-specific/linux/v4l-utils/default.nix
@@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
     sha256 = "0k46z5gqjzg702m2vs4sv6sxynq1sj14m0pgwvl2gkgg3dfbyjhn";
   };
 
+  outputs = [ "dev" "out" ];
+
   configureFlags = [
     "--enable-libv4l"
   ] ++ (if (alsaLib != null && libX11 != null && (qt4 != null || qt5 != null)) then [
@@ -36,15 +38,15 @@ stdenv.mkDerivation rec {
     "--disable-qv4l2"
   ]);
 
-  postInstall = ''
+  postFixup = ''
     # Create symlink for V4l1 compatibility
-    ln -s $out/include/libv4l1-videodev.h $out/include/videodev.h
+    ln -s "$dev/include/libv4l1-videodev.h" "$dev/include/videodev.h"
   '';
 
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [ alsaLib libX11 qt4 qt5 ];
-  
+
   propagatedBuildInputs = [ libjpeg ];
 
   meta = with stdenv.lib; {