It tries to dlopen libcrypt.so.1 and libstdc++.so.6, so we make sure they are available by adding them to the runpath. Reviewed-by: Aleix Boné <abonerib@bsc.es>
		
			
				
	
	
		
			83 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { stdenv
 | |
| , lib
 | |
| , curl
 | |
| , cacert
 | |
| , runCommandLocal
 | |
| , autoPatchelfHook
 | |
| , elfutils
 | |
| , glib
 | |
| , libGL
 | |
| , ncurses5
 | |
| , xorg
 | |
| , zlib
 | |
| , libxkbcommon
 | |
| , freetype
 | |
| , fontconfig
 | |
| , libGLU
 | |
| , dbus
 | |
| , rocmPackages
 | |
| , libxcrypt-legacy
 | |
| }:
 | |
| 
 | |
| let
 | |
|   version = "5.1.701";
 | |
|   tarball = "AMDuProf_Linux_x64_${version}.tar.bz2";
 | |
| 
 | |
|   uprofSrc = runCommandLocal tarball {
 | |
|     nativeBuildInputs = [ curl ];
 | |
|     outputHash = "sha256-j9gxcBcIg6Zhc5FglUXf/VV9bKSo+PAKeootbN7ggYk=";
 | |
|     SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt";
 | |
|   } ''
 | |
|     curl \
 | |
|     -o $out \
 | |
|     'https://download.amd.com/developer/eula/uprof/uprof-5-1/${tarball}' \
 | |
|     -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0' \
 | |
|     -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \
 | |
|     -H 'Accept-Language: en-US,en;q=0.5' \
 | |
|     -H 'Accept-Encoding: gzip, deflate, br, zstd' \
 | |
|     -H 'Referer: https://www.amd.com/' 2>&1 | tr '\r' '\n'
 | |
|   '';
 | |
| 
 | |
| in
 | |
|   stdenv.mkDerivation {
 | |
|     pname = "AMD-uProf";
 | |
|     inherit version;
 | |
|     src = uprofSrc;
 | |
|     dontStrip = true;
 | |
|     phases = [ "installPhase" "fixupPhase" ];
 | |
|     nativeBuildInputs = [ autoPatchelfHook ];
 | |
|     buildInputs = [
 | |
|       stdenv.cc.cc.lib
 | |
|       ncurses5
 | |
|       elfutils
 | |
|       glib
 | |
|       libGL
 | |
|       libGLU
 | |
|       libxcrypt-legacy
 | |
|       xorg.libX11
 | |
|       xorg.libXext
 | |
|       xorg.libXi
 | |
|       xorg.libXmu
 | |
|       xorg.libxcb
 | |
|       xorg.xcbutilwm
 | |
|       xorg.xcbutilrenderutil
 | |
|       xorg.xcbutilkeysyms
 | |
|       xorg.xcbutilimage
 | |
|       fontconfig.lib
 | |
|       libxkbcommon
 | |
|       zlib
 | |
|       freetype
 | |
|       dbus
 | |
|       rocmPackages.rocprofiler
 | |
|     ];
 | |
|     installPhase = ''
 | |
|       set -x
 | |
|       mkdir -p $out
 | |
|       tar -x -v -C $out --strip-components=1 -f $src
 | |
|       rm $out/bin/AMDPowerProfilerDriverSource.tar.gz
 | |
|       patchelf --replace-needed libroctracer64.so.1 libroctracer64.so $out/bin/ProfileAgents/x64/libAMDGpuAgent.so
 | |
|       patchelf --add-needed libcrypt.so.1 --add-needed libstdc++.so.6 $out/bin/AMDuProfSys
 | |
|       set +x
 | |
|     '';
 | |
|   }
 |