nixpkgs/pkgs/applications/version-management/p4v/default.nix

56 lines
1.6 KiB
Nix
Raw Normal View History

2020-08-10 20:48:09 +02:00
{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebengine, qtwebkit, openssl, xkeyboard_config, patchelfUnstable, wrapQtAppsHook }:
2018-03-12 09:12:45 +01:00
stdenv.mkDerivation rec {
pname = "p4v";
2020-08-10 20:48:09 +02:00
version = "2020.1.1966006";
2018-03-12 09:12:45 +01:00
src = fetchurl {
2020-08-10 20:48:09 +02:00
url = "https://cdist2.perforce.com/perforce/r20.1/bin.linux26x86_64/p4v.tgz";
sha256 = "0zc70d7jgdrd2jli338n1h05hgb7jmmv8hvq205wh78vvllrlv10";
2018-03-12 09:12:45 +01:00
};
dontBuild = true;
2020-08-10 20:48:09 +02:00
nativeBuildInputs = [ patchelfUnstable wrapQtAppsHook ];
2018-03-12 09:12:45 +01:00
ldLibraryPath = lib.makeLibraryPath [
stdenv.cc.cc.lib
qtbase
qtmultimedia
qtscript
qtsensors
2020-08-10 20:48:09 +02:00
qtwebengine
2018-03-12 09:12:45 +01:00
qtwebkit
2020-08-10 20:48:09 +02:00
openssl
2018-03-12 09:12:45 +01:00
];
dontWrapQtApps = true;
2018-03-12 09:12:45 +01:00
installPhase = ''
mkdir $out
cp -r bin $out
2020-08-10 20:48:09 +02:00
mkdir -p $out/lib
cp -r lib/P4VResources $out/lib
2018-03-12 09:12:45 +01:00
for f in $out/bin/*.bin ; do
2020-08-10 20:48:09 +02:00
patchelf --set-rpath $ldLibraryPath --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $f
# combining this with above breaks rpath (patchelf bug?)
patchelf --add-needed libstdc++.so $f \
--clear-symbol-version _ZNSt20bad_array_new_lengthD1Ev \
--clear-symbol-version _ZTVSt20bad_array_new_length \
--clear-symbol-version _ZTISt20bad_array_new_length \
$f
wrapQtApp $f \
--suffix QT_XKB_CONFIG_ROOT : ${xkeyboard_config}/share/X11/xkb
2018-03-12 09:12:45 +01:00
done
'';
2020-08-10 20:48:09 +02:00
dontFixup = true;
2018-03-12 09:12:45 +01:00
meta = {
description = "Perforce Visual Client";
homepage = "https://www.perforce.com";
2021-01-15 14:21:58 +01:00
license = lib.licenses.unfreeRedistributable;
2018-03-12 09:12:45 +01:00
platforms = [ "x86_64-linux" ];
2021-01-15 14:21:58 +01:00
maintainers = with lib.maintainers; [ nathyong nioncode ];
2018-03-12 09:12:45 +01:00
};
}