diff options
author | Mathijs Kwik <mathijs@bluescreen303.nl> | 2013-09-11 10:51:46 +0200 |
---|---|---|
committer | Mathijs Kwik <mathijs@bluescreen303.nl> | 2013-09-11 10:53:31 +0200 |
commit | 1a55c4b89f6f6e337d1ca8878bfd8104f3fb6304 (patch) | |
tree | 3513b616eec434d455177a877119cdd96a7b4ade /pkgs/os-specific/linux | |
parent | 2d405ed4d54ba4d924b5146cea4a39ae65343d59 (diff) | |
parent | aa8e8303e1b42c5cf5195f3ce82f886664aa26d4 (diff) | |
download | nixlib-1a55c4b89f6f6e337d1ca8878bfd8104f3fb6304.tar nixlib-1a55c4b89f6f6e337d1ca8878bfd8104f3fb6304.tar.gz nixlib-1a55c4b89f6f6e337d1ca8878bfd8104f3fb6304.tar.bz2 nixlib-1a55c4b89f6f6e337d1ca8878bfd8104f3fb6304.tar.lz nixlib-1a55c4b89f6f6e337d1ca8878bfd8104f3fb6304.tar.xz nixlib-1a55c4b89f6f6e337d1ca8878bfd8104f3fb6304.tar.zst nixlib-1a55c4b89f6f6e337d1ca8878bfd8104f3fb6304.zip |
Merge remote-tracking branch 'official/master' into multiple-outputs
Conflicts: pkgs/development/libraries/cairo/default.nix pkgs/development/libraries/freetype/default.nix pkgs/development/libraries/glib/default.nix pkgs/development/libraries/libpng/default.nix pkgs/development/libraries/pango/default.nix pkgs/tools/typesetting/tex/texlive/default.nix pkgs/top-level/all-packages.nix
Diffstat (limited to 'pkgs/os-specific/linux')
20 files changed, 440 insertions, 77 deletions
diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh index abb78549cee7..2a20aa29fcc9 100644 --- a/pkgs/os-specific/linux/ati-drivers/builder.sh +++ b/pkgs/os-specific/linux/ati-drivers/builder.sh @@ -11,6 +11,7 @@ unzip $src run_file=$(echo amd-driver-installer-*) sh $run_file --extract . +eval "$patchPhase" kernelVersion=$(cd ${kernel}/lib/modules && ls) kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/build) @@ -166,7 +167,7 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`" # fail saying different kernel versions cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/modules/dri $out/lib cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/modules/dri/* $out/lib - cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/*.so.* $out/lib + cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/*.so* $out/lib cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/fglrx/fglrx-libGL.so.1.2 $out/lib/fglrx-libGL.so.1.2 cp -r $TMP/arch/$arch/usr/$lib_arch/* $out/lib @@ -224,3 +225,9 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`" rm -fr $out/lib/modules/fglrx # don't think those .a files are needed. They cause failure of the mod } + +for p in $extraDRIlibs; do + for lib in $p/lib/*.so*; do + ln -s $lib $out/lib/ + done +done diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix index ff508deed122..326de9ed81ae 100644 --- a/pkgs/os-specific/linux/ati-drivers/default.nix +++ b/pkgs/os-specific/linux/ati-drivers/default.nix @@ -23,27 +23,26 @@ assert stdenv.system == "x86_64-linux"; stdenv.mkDerivation rec { - name = "ati-drivers-${version}-${kernelDev.version}"; - version = "10-11-x86"; + name = "ati-drivers-${version}-${kernel.version}"; + version = "13.4"; builder = ./builder.sh; inherit libXxf86vm xf86vidmodeproto; src = fetchurl { - url = http://www2.ati.com/drivers/linux/amd-driver-installer-12-8-x86.x86_64.zip; - sha256 = "0hdv89vdap6v0dnwhddizfmlkwyh0j910sp4wyj2lq5pn9rm2lk2"; - - # beta - # url = "http://www2.ati.com/drivers/beta/amd-driver-installer-12-9-beta-x86.x86_64.zip"; - # sha256 = "02dmflzfrgr07fa1hv34m7ad8pra21xv7qbk500gqm6v8s9vbplk"; + url = http://www2.ati.com/drivers/linux/amd-driver-installer-catalyst-13-4-linux-x86.x86_64.zip; + sha256 = "1914ikdich0kg047bqh89ai5z4dyryj5mlw5i46n90fsfiaxa532"; }; + patchPhase = "patch -p0 < ${./gentoo-patches.patch}"; + buildInputs = [ xlibs.libXext xlibs.libX11 xlibs.libXrandr which imake makeWrapper patchelf unzip + mesa ]; kernel = kernelDev; @@ -57,6 +56,11 @@ stdenv.mkDerivation rec { "${xorg.libX11}/lib" ]; + # 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.libXext ]; + inherit mesa; # only required to build examples meta = { diff --git a/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch b/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch new file mode 100644 index 000000000000..ce4871c0658b --- /dev/null +++ b/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch @@ -0,0 +1,293 @@ +diff -Nur common/lib/modules/fglrx/build_mod/drmP.h common-r1/lib/modules/fglrx/build_mod/drmP.h +--- common/lib/modules/fglrx/build_mod/drmP.h 2013-05-15 09:26:23.555752577 +0300 ++++ common-r1/lib/modules/fglrx/build_mod/drmP.h 2013-05-16 10:39:17.496212055 +0300 +@@ -901,10 +901,6 @@ + int DRM(stub_unregister)(int minor); + + /* Proc support (drm_proc.h) */ +-extern struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev, +- int minor, +- struct proc_dir_entry *root, +- struct proc_dir_entry **dev_root); + extern int DRM(proc_cleanup)(int minor, + struct proc_dir_entry *root, + struct proc_dir_entry *dev_root); +diff -Nur common/lib/modules/fglrx/build_mod/drm_proc.h common-r1/lib/modules/fglrx/build_mod/drm_proc.h +--- common/lib/modules/fglrx/build_mod/drm_proc.h 2013-05-15 09:26:23.555752577 +0300 ++++ common-r1/lib/modules/fglrx/build_mod/drm_proc.h 2013-05-19 02:16:16.584406160 +0300 +@@ -75,61 +75,6 @@ + #define DRM_PROC_ENTRIES (sizeof(DRM(proc_list))/sizeof(DRM(proc_list)[0])) + + /** +- * Initialize the DRI proc filesystem for a device. +- * +- * \param dev DRM device. +- * \param minor device minor number. +- * \param root DRI proc dir entry. +- * \param dev_root resulting DRI device proc dir entry. +- * \return root entry pointer on success, or NULL on failure. +- * +- * Create the DRI proc root entry "/proc/ati", the device proc root entry +- * "/proc/ati/%minor%/", and each entry in proc_list as +- * "/proc/ati/%minor%/%name%". +- */ +-struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev, int minor, +- struct proc_dir_entry *root, +- struct proc_dir_entry **dev_root) +-{ +- struct proc_dir_entry *ent; +- int i, j; +- char name[64]; +- +- if (!minor) root = create_proc_entry("dri", S_IFDIR, NULL); +- if (!root) { +- DRM_ERROR("Cannot create /proc/ati\n"); +- return NULL; +- } +- +- sprintf(name, "%d", minor); +- *dev_root = create_proc_entry(name, S_IFDIR, root); +- if (!*dev_root) { +- DRM_ERROR("Cannot create /proc/ati/%s\n", name); +- return NULL; +- } +- +- for (i = 0; i < DRM_PROC_ENTRIES; i++) { +- ent = create_proc_entry(DRM(proc_list)[i].name, +- S_IFREG|S_IRUGO, *dev_root); +- if (!ent) { +- DRM_ERROR("Cannot create /proc/ati/%s/%s\n", +- name, DRM(proc_list)[i].name); +- for (j = 0; j < i; j++) +- remove_proc_entry(DRM(proc_list)[i].name, +- *dev_root); +- remove_proc_entry(name, root); +- if (!minor) remove_proc_entry("dri", NULL); +- return NULL; +- } +- ent->read_proc = DRM(proc_list)[i].f; +- ent->data = dev; +- } +- +- return root; +-} +- +- +-/** + * Cleanup the proc filesystem resources. + * + * \param minor device minor number. +diff -Nur common/lib/modules/fglrx/build_mod/firegl_public.c common-r1/lib/modules/fglrx/build_mod/firegl_public.c +--- common/lib/modules/fglrx/build_mod/firegl_public.c 2013-05-15 09:26:23.545752925 +0300 ++++ common-r1/lib/modules/fglrx/build_mod/firegl_public.c 2013-05-19 03:07:10.236552522 +0300 +@@ -583,6 +583,202 @@ + { "NULL", NULL, NULL} // Terminate List!!! + }; + ++ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) ++typedef int (read_proc_t)(char *page, char **start, off_t off, int count, int *eof, void *data); ++typedef int (write_proc_t)(struct file *file, const char __user *buffer, unsigned long count, void *data); ++#else ++#define PDE_DATA(inode) (PDE((inode))->data) ++#endif ++ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) ++typedef struct { ++ read_proc_t *read_func; ++ write_proc_t *write_func; ++ void *data; ++} gentoo_proc_wrapper_t; ++ ++#define GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC 939750305 ++ ++static ssize_t gentoo_proc_wrapper_read (struct file *myfile, char __user *buffer, size_t count, loff_t *offset) { ++ int is_eof=0, retval; ++ char *start, *usebuffer=NULL; ++ gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data); ++ if (PAGE_SIZE<*offset) { ++ printk(KERN_ERR "Trying to read beyond 4k on proc\n"); ++ return -EIO; ++ } ++ //printk(KERN_NOTICE " call with: dev %p, func %p\n", wrapper_data->data, wrapper_data->read_func); ++ ++ usebuffer=kmalloc(2*PAGE_SIZE, GFP_KERNEL); ++ if (!usebuffer) ++ return -ENOMEM; ++ ((u32*)usebuffer)[1024]=GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC; ++ ++ retval=wrapper_data->read_func(usebuffer, &start, *offset, count, &is_eof, wrapper_data->data); ++ ++ BUG_ON(GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC != ((u32*)usebuffer)[1024]); ++ ++ if (0 > retval) ++ { ++ printk(KERN_ERR "Proc read failed with %d", retval); ++ goto out; ++ } ++ ++ if (copy_to_user(buffer, start, retval)) { ++ printk(KERN_NOTICE "copy to user failed in amd drivers proc code\n"); ++ retval=-EFAULT; ++ goto out; ++ } ++ *offset+=retval; ++ ++out: ++ if (usebuffer) ++ kfree(usebuffer); ++ return retval; ++} ++static ssize_t gentoo_proc_wrapper_write (struct file *myfile, const char __user *buffer, size_t count, loff_t *offset) { ++ gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data); ++ int retval=0; ++ void *usebuffer=NULL; ++ ++ BUG_ON(*offset); ++ if (!wrapper_data->write_func) ++ return -EPERM; ++ ++ usebuffer=kmalloc(count, GFP_KERNEL); ++ if (!usebuffer) ++ return -ENOMEM; ++ if (copy_from_user(usebuffer, buffer, count)) { ++ printk(KERN_NOTICE "copy from user failed in amd drivers proc code\n"); ++ retval=-EFAULT; ++ goto out; ++ } ++ ++ retval=wrapper_data->write_func(myfile, buffer, count, wrapper_data->data); ++ *offset+=retval; ++out: ++ if (usebuffer) ++ kfree(usebuffer); ++ return retval; ++} ++static int gentoo_proc_wrapper_open(struct inode *myinode, struct file *myfile) { ++ myfile->private_data=PDE_DATA(myinode); ++ return generic_file_open(myinode, myfile); ++} ++struct file_operations gentoo_proc_fops = { ++ .read=gentoo_proc_wrapper_read, ++ .write=gentoo_proc_wrapper_write, ++ .open=gentoo_proc_wrapper_open, ++}; ++ ++static void *gentoo_proc_wrapper_data(read_proc_t *reader, write_proc_t *writer, void *mydata) { ++ gentoo_proc_wrapper_t *retval=kmalloc(sizeof(gentoo_proc_wrapper_t), GFP_KERNEL); ++ if (!retval) ++ return retval; ++ retval->read_func=reader; ++ retval->write_func=writer; ++ retval->data=mydata; ++ return retval; ++} ++ ++static struct proc_dir_entry *firegl_proc_init( device_t *dev, ++ int minor, ++ struct proc_dir_entry *root, ++ struct proc_dir_entry **dev_root, ++ kcl_proc_list_t *proc_list ) // proc_list must be terminated! ++{ ++ struct proc_dir_entry *ent; ++ char name[64]; ++ kcl_proc_list_t *list = proc_list; ++ void *tempdata; ++ KCL_DEBUG1(FN_FIREGL_PROC, "minor %d, proc_list 0x%08lx\n", minor, (unsigned long)proc_list); ++ if (!minor) ++ { ++ root = proc_mkdir("ati", NULL); ++ } ++ ++ if (!root) ++ { ++ KCL_DEBUG_ERROR("Cannot create /proc/ati\n"); ++ return NULL; ++ } ++ ++ if (minor == 0) ++ { ++ // Global major debice number entry ++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_major_proc_read, NULL, NULL); ++ if (!tempdata) ++ return NULL; ++ ent = proc_create_data("major", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata); ++ if (!ent) ++ { ++ remove_proc_entry("ati", NULL); ++ KCL_DEBUG_ERROR("Cannot create /proc/ati/major\n"); ++ return NULL; ++ } ++ } ++ ++ sprintf(name, "%d", minor); ++ *dev_root = proc_mkdir(name, root); ++ if (!*dev_root) { ++ remove_proc_entry("major", root); ++ remove_proc_entry("ati", NULL); ++ KCL_DEBUG_ERROR("Cannot create /proc/ati/%s\n", name); ++ return NULL; ++ } ++ ++ while (list->f || list->fops) ++ { ++ struct file_operations *my_fops = &gentoo_proc_fops; ++ if (list->fops) ++ { ++ my_fops = (struct file_operations*)list->fops; ++ tempdata=(dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev); ++ } ++ else { ++ BUG_ON(!list->f); ++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)list->f, NULL, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev) ); ++ if (!tempdata) ++ return NULL; ++ } ++ //printk(KERN_NOTICE "name %s, dev %p, func %p, data %p\n", list->name, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev), list->f, tempdata); ++ ent = proc_create_data(list->name, S_IFREG|S_IRUGO, *dev_root, my_fops, tempdata); ++ ++ if (!ent) ++ { ++ KCL_DEBUG_ERROR("Cannot create /proc/ati/%s/%s\n", name, list->name); ++ while (proc_list != list) ++ { ++ remove_proc_entry(proc_list->name, *dev_root); ++ proc_list++; ++ } ++ remove_proc_entry(name, root); ++ if (!minor) ++ { ++ remove_proc_entry("major", root); ++ remove_proc_entry("ati", NULL); ++ } ++ return NULL; ++ } ++ ++ list++; ++ } ++ ++ if (minor == 0) ++ { ++ // Global debug entry, only create it once ++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_debug_proc_read_wrap, (write_proc_t*)firegl_debug_proc_write_wrap, dev); ++ if (!tempdata) ++ return NULL; ++ ent=proc_create_data("debug", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata); ++ if (!ent) ++ return NULL; ++ } ++ ++ return root; ++} ++#else + static struct proc_dir_entry *firegl_proc_init( device_t *dev, + int minor, + struct proc_dir_entry *root, +@@ -677,6 +873,7 @@ + + return root; + } ++#endif + + static int firegl_proc_cleanup( int minor, + struct proc_dir_entry *root, diff --git a/pkgs/os-specific/linux/bbswitch/default.nix b/pkgs/os-specific/linux/bbswitch/default.nix index 692ec0df5bdc..675fe7695af9 100644 --- a/pkgs/os-specific/linux/bbswitch/default.nix +++ b/pkgs/os-specific/linux/bbswitch/default.nix @@ -2,7 +2,7 @@ let baseName = "bbswitch"; - version = "0.6"; + version = "0.7"; name = "${baseName}-${version}-${kernelDev.version}"; in @@ -12,7 +12,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://github.com/Bumblebee-Project/${baseName}/archive/v${version}.tar.gz"; - sha256 = "1y1wggfrlpxybz5cvrbvvpqa2hh6ncazzdlg9c94sx40n6p5dcf4"; + sha256 = "0na6gfnvmp5fjbm430ms342hmrsbr6cf78n6hldqb8js2ry3f8dw"; }; preBuild = '' diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix index 561f2d8e1e70..6bc0759c1a2b 100644 --- a/pkgs/os-specific/linux/bluez/bluez5.nix +++ b/pkgs/os-specific/linux/bluez/bluez5.nix @@ -1,23 +1,22 @@ -{ stdenv, fetchurl, pkgconfig, dbus, glib, libusb, alsaLib, python, makeWrapper -, pythonDBus, pygobject, readline, libsndfile, udev, libical, systemd }: +{ stdenv, fetchurl, pkgconfig, dbus, glib, libusb, alsaLib, python, + pythonPackages, pythonDBus, readline, libsndfile, udev, libical, + systemd }: assert stdenv.isLinux; -let - pythonpath = "${pythonDBus}/lib/${python.libPrefix}/site-packages:" - + "${pygobject}/lib/${python.libPrefix}/site-packages"; -in - stdenv.mkDerivation rec { - name = "bluez-5.3"; + name = "bluez-5.8"; src = fetchurl { url = "mirror://kernel/linux/bluetooth/${name}.tar.xz"; - sha256 = "41b0559e3a8436a739eb7cc79156ca91daf8c115f57971b6bcb422ee0213db42"; + sha256 = "1l33lq1lpg7hy26138ir5dj4gl3mql2qxpj20rjnnwyckc3jk700"; }; + pythonPath = with pythonPackages; + [ pythonDBus pygobject3 recursivePthLoader ]; + buildInputs = - [ pkgconfig dbus.libs glib libusb alsaLib python makeWrapper + [ pkgconfig dbus.libs glib libusb alsaLib python pythonPackages.wrapPython readline libsndfile udev libical # Disables GStreamer; not clear what it gains us other than a # zillion extra dependencies. @@ -49,7 +48,9 @@ stdenv.mkDerivation rec { # FIXME: Move these into a separate package to prevent Bluez from # depending on Python etc. postInstall = '' - pushd test + mkdir $out/test + cp -a test $out + pushd $out/test for a in \ simple-agent \ test-adapter \ @@ -58,14 +59,19 @@ stdenv.mkDerivation rec { list-devices \ monitor-bluetooth \ ; do - cp $a $out/bin/bluez-$a - wrapProgram $out/bin/bluez-$a --prefix PYTHONPATH : ${pythonpath} + ln -s ../test/$a $out/bin/bluez-$a done popd + wrapPythonProgramsIn $out/test "$out/test $pythonPath" + + # for bluez4 compatibility for NixOS + mkdir $out/sbin + ln -s ../libexec/bluetooth/bluetoothd $out/sbin/bluetoothd ''; - meta = { + meta = with stdenv.lib; { homepage = http://www.bluez.org/; description = "Bluetooth support for Linux"; + platforms = platforms.linux; }; } diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix index 9ddddfde259a..f5efc565753c 100644 --- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix +++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix @@ -54,8 +54,8 @@ in stdenv.mkDerivation { buildInputs = [ dpkg ]; installPhase = '' - mkdir -p $out/share - cp -r lib/firmware/* "$out/" + mkdir -p $out/share $out/lib/firmware + cp -r lib/firmware/* "$out/lib/firmware/" cp -r usr/share/doc $out/share/ find $out/share -name changelog.gz | xargs rm ''; @@ -65,6 +65,5 @@ in stdenv.mkDerivation { homepage = http://packages.debian.org/sid/firmware-linux-nonfree; license = stdenv.lib.licenses.unfreeRedistributableFirmware; platforms = stdenv.lib.platforms.linux; - priority = 10; # low priority so that other packages can override this big package }; } diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix index 02d7194b5007..c98930314954 100644 --- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix +++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix @@ -1,11 +1,15 @@ {stdenv, fetchurl }: -stdenv.mkDerivation { - name = "raspberrypi-firmware-20160106"; +let + + rev = "3ab17ac25e"; + +in stdenv.mkDerivation { + name = "raspberrypi-firmware-${rev}"; src = fetchurl { - url = "https://github.com/raspberrypi/firmware/archive/4ade27942e.tar.gz"; - sha256 = "0f4p920vr7dcj4hprgil8baqqbnsjx1jykz0pkdx29mqy0n0xanl"; + url = "https://github.com/raspberrypi/firmware/archive/${rev}.tar.gz"; + sha256 = "080va4zz858bwwgxam8zy58gpwjpxfg7v5h1q5b4cpbzjihsxcx9"; }; installPhase = '' diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 90210b8d5ebb..d4f7c4e67187 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -24,9 +24,7 @@ with stdenv.lib; # Support drivers that need external firmware. STANDALONE n - # Enable the complete Linux kernel ".config" file to be saved in the kernel. - # Also, make it available at runtime as /proc/config.gz. - IKCONFIG y + # Make /proc/config.gz available. IKCONFIG_PROC y # Optimize with -O2, not -Os. @@ -103,7 +101,9 @@ with stdenv.lib; FB_SIS_300 y FB_SIS_315 y FB_3DFX_ACCEL y - FB_GEODE y + ${optionalString (versionOlder version "3.9" || stdenv.system == "i686-linux") '' + FB_GEODE y + ''} # Video configuration. # Enable KMS for devices whose X.org driver supports it. diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix index e054e5e16f5c..fa57fdd93ddc 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.10.9"; + version = "3.10.10"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1kwi5v4rw06rmb548wjkgi27amsfvpfd2n07bmyjvjqnqrldm5bk"; + sha256 = "01cpg6j1jsjh4vgvmia12y6rci4gqb967gc0gqpz5gcimzg4bb5p"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.11.nix b/pkgs/os-specific/linux/kernel/linux-3.11.nix new file mode 100644 index 000000000000..34b2d4882897 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-3.11.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, ... } @ args: + +import ./generic.nix (args // rec { + version = "3.11"; + modDirVersion = "3.11.0"; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "1yfpa4fzhsn4r5dwkcf3azy0vqdms865jaikn3fdwbabmpqchgl0"; + }; + + features.iwlwifi = true; + features.efiBootStub = true; + features.needsCifsUtils = true; + features.canDisableNetfilterConntrackHelpers = true; + features.netfilterRPFilter = true; +}) diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix index 74304f5239c4..5bcb8aaf2506 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.4.58"; + version = "3.4.60"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "11kcxlchiz7ks61yqj29dy2mnncfxcc7qr563wby1k58rvwf8g74"; + sha256 = "16pg9sdsf5nwp1lc583dcbn1ay67b7yb55xg8cgv63bvmh4h3vrb"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix index 319c2ba42b49..fdf2f139c331 100644 --- a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix +++ b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix @@ -1,14 +1,16 @@ { stdenv, fetchurl, ... } @ args: -let rev = "91a3be5b2b"; in +let -import ./generic.nix (args // rec { + rev = "7849605f5a"; + +in import ./generic.nix (args // rec { version = "3.6.y-${rev}"; src = fetchurl { url = "https://api.github.com/repos/raspberrypi/linux/tarball/${rev}"; name = "linux-raspberrypi-${version}.tar.gz"; - sha256 = "04370b1da7610622372940decdc13ddbba2a58c9da3c3bd3e7df930a399f140d"; + sha256 = "1diwc5p6az6ipcldwmkq7hb5f15nvdgwzmypixc2vmzmc4ylarxl"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/lm-sensors/default.nix b/pkgs/os-specific/linux/lm-sensors/default.nix index 4cfbdd6e691b..354027dbd714 100644 --- a/pkgs/os-specific/linux/lm-sensors/default.nix +++ b/pkgs/os-specific/linux/lm-sensors/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, bison, flex, which, perl }: -let version = "3.3.1"; in +let version = "3.3.4"; in stdenv.mkDerivation rec { - name = "lm-sensors-3.3.1"; + name = "lm-sensors-${version}"; src = fetchurl { url = "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${version}.tar.bz2"; - sha256 = "13v2gszagmx8hwjyzh2k47rdpc2kyg9zky3kdqhdbgzp8lwpik6g"; + sha256 = "0vd7dgpcri7cbvgl5fwvja53lqz829vkbbp17x7b5r2xrc88cq5l"; }; buildInputs = [ bison flex which perl ]; diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix index 7495deb231d2..e58d61e426ba 100644 --- a/pkgs/os-specific/linux/lttng-modules/default.nix +++ b/pkgs/os-specific/linux/lttng-modules/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, kernelDev }: stdenv.mkDerivation rec { - pname = "lttng-modules-2.2.1"; + pname = "lttng-modules-2.3.0"; name = "${pname}-${kernelDev.version}"; src = fetchurl { url = "https://lttng.org/files/lttng-modules/${pname}.tar.bz2"; - sha256 = "00ww1443ssv614s1ix6zby8llaf6zzlxcf5k4w7jsyji47ng33m2"; + sha256 = "0l9fbmpsjvm5pbrc6axy8chdp21j4b8fm0hmjhpk658ll0iixmpb"; }; patches = [ ./lttng-fix-build-error-on-linux-3.2.patch ]; diff --git a/pkgs/os-specific/linux/microcode/amd.nix b/pkgs/os-specific/linux/microcode/amd.nix index dc5959d400d1..0ca33fa31f04 100644 --- a/pkgs/os-specific/linux/microcode/amd.nix +++ b/pkgs/os-specific/linux/microcode/amd.nix @@ -1,22 +1,25 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "amd-ucode-2012-09-10"; src = fetchurl { - url = "http://www.amd64.org/pub/microcode/${name}.tar"; + urls = + [ "http://pkgs.fedoraproject.org/repo/pkgs/microcode_ctl/${name}.tar/559bc355d3799538584add80df2996f0/${name}.tar" + "http://www.amd64.org/pub/microcode/${name}.tar" + ]; sha256 = "065phvhx5hx5ssdd1x2p5m1yv26ak7l5aaw6yk6h95x9mxn5r111"; }; installPhase = '' - mkdir -p $out/amd-ucode - mv microcode_amd_fam15h.bin microcode_amd.bin $out/amd-ucode/ + mkdir -p $out/lib/firmware/amd-ucode $out/share/doc/amd-ucode + mv microcode_amd_fam15h.bin microcode_amd.bin $out/lib/firmware/amd-ucode/ + mv LICENSE $out/share/doc/amd-ucode ''; meta = { - description = "AMD Processor Microcode Patch"; - homepage = "http://www.amd64.org/support/microcode.html"; - license = "non-free"; + description = "AMD Processor microcode patch"; + homepage = http://www.amd64.org/support/microcode.html; + license = stdenv.lib.licenses.unfreeRedistributableFirmware; }; } diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix index e85ab29078b2..ad7cea180846 100644 --- a/pkgs/os-specific/linux/microcode/intel.nix +++ b/pkgs/os-specific/linux/microcode/intel.nix @@ -1,15 +1,17 @@ { stdenv, fetchurl, microcode2ucode }: -let version = "20120606"; - num = "21385"; -in stdenv.mkDerivation { +let version = "20130808"; in + +stdenv.mkDerivation { name = "microcode-intel-${version}"; + src = fetchurl { - url = "http://downloadmirror.intel.com/${num}/eng/microcode-${version}.tgz"; - sha256 = "0hs95lj24zx3jscc64zg3hf8xc95vrnsyqlid66h453ib0wf8fg1"; + url = "http://downloadmirror.intel.com/23082/eng/microcode-${version}.tgz"; + sha256 = "19v0059v6dxv7ly57wgqy9nkjjnmprgwz4s94khdf213k5vikpfm"; }; buildInputs = [ microcode2ucode ]; + sourceRoot = "."; buildPhase = '' @@ -17,12 +19,13 @@ in stdenv.mkDerivation { ''; installPhase = '' - ensureDir $out - cp -r intel-ucode "$out/" + mkdir -p $out/lib/firmware + cp -r intel-ucode "$out/lib/firmware/" ''; meta = { homepage = http://www.intel.com/; description = "Microcode for Intel processors"; + license = stdenv.lib.licenses.unfree; }; } diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 268cdac85050..f8413b0e5416 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -10,12 +10,7 @@ with stdenv.lib; let - versionNumber = "319.32"; - kernel310patch = fetchurl { - url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/nvidia-linux-3.10.patch?h=packages/nvidia&id=415c1daa9ccb1ec46c172b304f40929239d87af8"; - name = "nvidia-linux-3.10.patch"; - sha256 = "0nhzg6jdk9sf1vzj519gqi8a2n9xydhz2bcz472pss2cfgbc1ahb"; - }; + versionNumber = "319.49"; in @@ -26,18 +21,19 @@ stdenv.mkDerivation { patches = [ ./version-test.patch ] - ++ optional (!libsOnly && versionAtLeast kernelDev.version "3.10") kernel310patch; + ++ optional (!libsOnly && versionAtLeast kernelDev.version "3.11") ./nvidia-drivers-linux-3.11-incremental.patch + ; src = if stdenv.system == "i686-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run"; - sha256 = "02rjiizgb9mgal0qrklzjvfzybv139yv6za8xp045k7qdyqvsqzf"; + sha256 = "1ngss9zw109a5xfr3vvhf1ajqjvvqc7j3dzw9h56vddck6kpbc22"; } else if stdenv.system == "x86_64-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run"; - sha256 = "18268q3pa6v4ygfnlm888jmp84dmg1w9c323cr51pn5jg54vygcm"; + sha256 = "1i68jfms8033p2x0r3z4fdjcmkkhbi6yizzc0ck9ydagdgg3liwp"; } else throw "nvidia-x11 does not support platform ${stdenv.system}"; diff --git a/pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch b/pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch new file mode 100644 index 000000000000..bb6fad932e3c --- /dev/null +++ b/pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch @@ -0,0 +1,25 @@ +From 8a8647ad942c8ac5161e1335f7f3e9dbb34dbf9e Mon Sep 17 00:00:00 2001 +From: Lukas Elsner <open@mindrunner.de> +Date: Wed, 17 Jul 2013 01:16:04 +0200 +Subject: [PATCH] replace num_physpages with totalram_pages + +--- + kernel/nv-linux.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h +index 4e5ed89..46c51ec 100644 +--- a/kernel/nv-linux.h ++++ b/kernel/nv-linux.h +@@ -957,7 +957,7 @@ static inline int nv_execute_on_all_cpus(void (*func)(void *info), void *info) + #endif + + #if !defined(NV_VMWARE) +-#define NV_NUM_PHYSPAGES num_physpages ++#define NV_NUM_PHYSPAGES totalram_pages + #define NV_GET_CURRENT_PROCESS() current->tgid + #define NV_IN_ATOMIC() in_atomic() + #define NV_LOCAL_BH_DISABLE() local_bh_disable() +-- +1.8.3.2 + diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix index 75ff28939722..6a9a4cc963fa 100644 --- a/pkgs/os-specific/linux/spl/default.nix +++ b/pkgs/os-specific/linux/spl/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, kernelDev, perl, autoconf, automake, libtool, coreutils, gawk }: stdenv.mkDerivation { - name = "spl-0.6.1-${kernelDev.version}"; + name = "spl-0.6.2-${kernelDev.version}"; src = fetchurl { - url = "http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.1.tar.gz"; - sha256 = "1bnianc00bkpdbcmignzqfv9yr8h6vj56wfl7lkhi9a5m5b3xakb"; + url = http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.2.tar.gz; + sha256 = "196scl8q0bkkak6m0p1l1fz254cgsizqm73bf9wk3iynamq7qmrw"; }; patches = [ ./install_prefix.patch ]; @@ -27,6 +27,8 @@ stdenv.mkDerivation { --with-linux-obj=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build ''; + enableParallelBuilding = true; + meta = { description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)"; diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index ac07474d3f4b..06615d170a17 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, kernelDev, spl, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }: stdenv.mkDerivation { - name = "zfs-0.6.1-${kernelDev.version}"; + name = "zfs-0.6.2-${kernelDev.version}"; src = fetchurl { - url = http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.1.tar.gz; - sha256 = "1ykph9d4p70mam6lvcx0zld6d34gch15dsilds5ncbxh0m52knl0"; + url = http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.2.tar.gz; + sha256 = "18b5f18k8mwb17r5ippsilmp1a2sqjw9fwn0z82159dkhsadg33b"; }; patches = [ ./mount_zfs_prefix.patch ./nix-build.patch ]; @@ -33,6 +33,8 @@ stdenv.mkDerivation { --with-spl=${spl}/libexec/spl ''; + enableParallelBuilding = true; + meta = { description = "ZFS Filesystem Linux Kernel module"; longDescription = '' |