p4v: 2022.2.2336701 -> 2024.2/2606884

This commit is contained in:
David McFarland 2024-06-13 08:34:42 -03:00
parent d542d77c58
commit 2204ed73c4
3 changed files with 30 additions and 11 deletions

View File

@ -2,28 +2,30 @@
, fetchurl
, lib
, callPackage
, libsForQt5
, qt6Packages
}:
let
# Upstream replaces minor versions, so use archived URLs.
srcs = {
"x86_64-linux" = fetchurl {
url = "https://web.archive.org/web/20220902181457id_/https://ftp.perforce.com/perforce/r22.2/bin.linux26x86_64/p4v.tgz";
sha256 = "8fdade4aafe25f568a61cfd80823aa90599c2a404b7c6b4a0862c84b07a9f8d2";
srcs = rec {
x86_64-linux = fetchurl {
url = "https://web.archive.org/web/20240612193642id_/https://ftp.perforce.com/perforce/r24.2/bin.linux26x86_64/p4v.tgz";
sha256 = "sha256-HA99fHcmgli/vVnr0M8ZJEsaZ2ZLzpG3M8S77oDYJyE=";
};
"x86_64-darwin" = fetchurl {
url = "https://web.archive.org/web/20220902194716id_/https://ftp.perforce.com/perforce/r22.2/bin.macosx1015x86_64/P4V.dmg";
sha256 = "c4a9460c0f849be193c68496c500f8a785c740f5bea5b5e7f617969c20be3cd7";
aarch64-darwin = fetchurl {
url = "https://web.archive.org/web/20240612194532id_/https://ftp.perforce.com/perforce/r24.2/bin.macosx12u/P4V.dmg";
sha256 = "sha256-PS7gfDdWspyL//YWLkrsGi5wh6SIeAry2yef1/V0d6o=";
};
# this is universal
x86_64-darwin = aarch64-darwin;
};
mkDerivation =
if stdenv.isDarwin then callPackage ./darwin.nix { }
else libsForQt5.callPackage ./linux.nix { };
else qt6Packages.callPackage ./linux.nix { };
in mkDerivation {
pname = "p4v";
version = "2022.2.2336701";
version = "2024.2/2606884";
src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");

View File

@ -17,8 +17,12 @@
, libxcb
, libxkbcommon
, nss
, qtbase
, qtmultimedia
, qtsvg
, qttools
, qtwebengine
, qtwebview
, xcbutilimage
, xcbutilkeysyms
, xcbutilrenderutil
@ -50,8 +54,12 @@ let
libxcb
libxkbcommon
nss
qtbase
qtmultimedia
qtsvg
qttools
qtwebengine
qtwebview
xcbutilimage
xcbutilkeysyms
xcbutilrenderutil
@ -63,10 +71,19 @@ let
# Don't wrap the Qt apps; upstream has its own wrapper scripts.
dontWrapQtApps = true;
postPatch = ''
rm -r lib/plugins lib/libQt6* lib/libssl* lib/libicu* lib/libcrypto*
'';
installPhase = ''
mkdir -p $out
cp -r bin lib $out
addAutoPatchelfSearchPath $out/lib
ln -s "${qtbase}/${qtbase.qtPluginPrefix}" $out/lib/plugins
'';
preFixup = ''
patchelf --clear-symbol-version close $out/bin/p4{v,admin}.bin
'';
};
in

View File

@ -33091,7 +33091,7 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) CoreServices Foundation Security;
};
p4d = callPackage ../applications/version-management/p4d { };
p4v = callPackage ../applications/version-management/p4v { };
p4v = qt6Packages.callPackage ../applications/version-management/p4v { };
parson = callPackage ../development/libraries/parson { };