Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 907c478cebd7
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: b854767dac6c
Choose a head ref
  • 5 commits
  • 1 file changed
  • 2 contributors

Commits on Feb 18, 2019

  1. cudatoolkit: Fixup cuda-gdb ncurses version

    The ncurses upgrade to libncurses.so.6 did silently break cuda-gdb quite
    some time ago.
    knedlsepp committed Feb 18, 2019

    Unverified

    This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
    Copy the full SHA
    c8fcd68 View commit details

Commits on Feb 19, 2019

  1. cudatoolkit: Fix building of older versions

    Versions prior to 9.0 did not build. Additionally we add some
    smoke tests for the binaries in $out/bin.
    knedlsepp committed Feb 19, 2019
    Copy the full SHA
    f483974 View commit details
  2. cudatoolkit: Fix GUI applications

    This fixes the following error when starting nvvp or nsight:
    
    ```
    (java:23876): Gtk-WARNING **: 19:12:17.777: Unable to locate theme engine in module_path: "adwaita",
    
    A fatal error has been detected by the Java Runtime Environment:
    
     SIGSEGV (0xb) at pc=0x00007f957f7b67fe, pid=23876, tid=140281059333888
    
    JRE version: Java(TM) SE Runtime Environment (8.0_77-b03) (build 1.8.0_77-b03)
    Java VM: Java HotSpot(TM) 64-Bit Server VM (25.77-b03 mixed mode linux-amd64 compressed oops)
    Problematic frame:
    C  [libpixbufloader-bmp.so+0x27fe]  gdk_pixbuf__bmp_image_load_increment+0xeee
    ```
    
    Since GDK_PIXBUF_MODULE_FILE should match the version we actually link
    to, we override the environment variable using the one provided by the
    gdk_pixbuf setup-hook.
    knedlsepp committed Feb 19, 2019
    Copy the full SHA
    ec2c972 View commit details
  3. Copy the full SHA
    3e0723f View commit details

Commits on Mar 10, 2019

  1. Merge pull request #56018 from knedlsepp/fix-cuda-gdb

    cudatoolkit: Several fixes
    bendlas authored Mar 10, 2019
    Copy the full SHA
    b854767 View commit details
Showing with 51 additions and 7 deletions.
  1. +51 −7 pkgs/development/compilers/cudatoolkit/default.nix
58 changes: 51 additions & 7 deletions pkgs/development/compilers/cudatoolkit/default.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ lib, stdenv, makeWrapper, fetchurl, requireFile, perl, ncurses, expat, python27, zlib
{ lib, stdenv, makeWrapper, fetchurl, requireFile, perl, ncurses5, expat, python27, zlib
, gcc48, gcc49, gcc5, gcc6, gcc7
, xorg, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib, glibc
, xorg, gtk2, gdk_pixbuf, glib, fontconfig, freetype, unixODBC, alsaLib, glibc
}:

let
@@ -40,17 +40,15 @@ let
outputs = [ "out" "lib" "doc" ];

nativeBuildInputs = [ perl makeWrapper ];

buildInputs = [ gdk_pixbuf ]; # To get $GDK_PIXBUF_MODULE_FILE via setup-hook
runtimeDependencies = [
ncurses expat python zlib glibc
ncurses5 expat python zlib glibc
xorg.libX11 xorg.libXext xorg.libXrender xorg.libXt xorg.libXtst xorg.libXi xorg.libXext
gtk2 glib fontconfig freetype unixODBC alsaLib
];

rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc.lib}/lib64";

phases = [ "unpackPhase" "installPhase" "fixupPhase" ];

unpackPhase = ''
sh $src --keep --noexec
@@ -68,8 +66,10 @@ let
'';

installPhase = ''
runHook preInstall
mkdir $out
cd $(basename $src)
export PERL5LIB=.
perl ./install-linux.pl --prefix="$out"
cd ..
for patch in $runPatches; do
@@ -84,7 +84,7 @@ let
rm -rf $out/lib
# Remove some cruft.
rm $out/bin/uninstall*
${lib.optionalString (lib.versionAtLeast version "7.0") "rm $out/bin/uninstall*"}
# Fixup path to samples (needed for cuda 6.5 or else nsight will not find them)
if [ -d "$out"/cuda-samples ]; then
@@ -119,6 +119,15 @@ let
'' + lib.optionalString (lib.versionOlder version "8.0") ''
# Hack to fix building against recent Glibc/GCC.
echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook
'' + ''
runHook postInstall
'';

postInstall = ''
for b in nvvp nsight; do
wrapProgram "$out/bin/$b" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
done
'';

preFixup = ''
@@ -138,6 +147,23 @@ let
done < <(find $out $lib $doc -type f -print0)
'';

doInstallCheck = true;
postInstallCheck = let
in ''
# Smoke test binaries
pushd $out/bin
for f in *; do
case $f in
crt) continue;;
nvcc.profile) continue;;
nsight_ee_plugins_manage.sh) continue;;
uninstall_cuda_toolkit_6.5.pl) continue;;
computeprof|nvvp|nsight) continue;; # GUIs don't feature "--version"
*) echo "Executing '$f --version':"; ./$f --version;;
esac
done
popd
'';
passthru = {
cc = gcc;
majorVersion =
@@ -199,6 +225,24 @@ in rec {
version = "9.0.176.1";
url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run";
sha256 = "0308rmmychxfa4inb1ird9bpgfppgr9yrfg1qp0val5azqik91ln";
runPatches = [
(fetchurl {
url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/1/cuda_9.0.176.1_linux-run";
sha256 = "1vbqg97pq9z9c8nqvckiwmq3ljm88m7gaizikzxbvz01izh67gx4";
})
(fetchurl {
url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/2/cuda_9.0.176.2_linux-run";
sha256 = "1sz5dijbx9yf7drfipdxav5a5g6sxy4w6vi9xav0lb6m2xnmyd7c";
})
(fetchurl {
url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/3/cuda_9.0.176.3_linux-run";
sha256 = "1jm83bxpscpjhzs5q3qijdgjm0r8qrdlgkj7y08fq8c0v8q2r7j2";
})
(fetchurl {
url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/4/cuda_9.0.176.4_linux-run";
sha256 = "0pymg3mymsa2n48y0njz3spzlkm15lvjzw8fms1q83zslz4x0lwk";
})
];
gcc = gcc6;
};