Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / version-management / p4v / linux.nix
blob6a9d6ba6aad4bc7a3849584e4986d801516e7599
1 { stdenv
2 , autoPatchelfHook
3 , cups
4 , dbus
5 , fontconfig
6 , gccForLibs
7 , libX11
8 , libXcomposite
9 , libXcursor
10 , libXdamage
11 , libXext
12 , libXi
13 , libXrandr
14 , libXrender
15 , libXtst
16 , libinput
17 , libxcb
18 , libxkbcommon
19 , nss
20 , qttools
21 , qtwebengine
22 , xcbutilimage
23 , xcbutilkeysyms
24 , xcbutilrenderutil
25 , xcbutilwm
28 { pname, version, src, meta }:
29 let
30   unwrapped = stdenv.mkDerivation {
31     pname = "${pname}-unwrapped";
32     inherit version src meta;
34     nativeBuildInputs = [ autoPatchelfHook ];
35     buildInputs = [
36       cups
37       dbus
38       fontconfig
39       gccForLibs
40       libX11
41       libXcomposite
42       libXcursor
43       libXdamage
44       libXext
45       libXi
46       libXrandr
47       libXrender
48       libXtst
49       libinput
50       libxcb
51       libxkbcommon
52       nss
53       qttools
54       qtwebengine
55       xcbutilimage
56       xcbutilkeysyms
57       xcbutilrenderutil
58       xcbutilwm
59     ];
61     dontBuild = true;
63     # Don't wrap the Qt apps; upstream has its own wrapper scripts.
64     dontWrapQtApps = true;
66     installPhase = ''
67       mkdir -p $out
68       cp -r bin lib $out
69       addAutoPatchelfSearchPath $out/lib
70     '';
71   };
73 stdenv.mkDerivation {
74   inherit pname version;
76   # Build a "clean" version of the package so that we don't add extra ".bin" or
77   # configuration files to users' PATHs. We can't easily put the unwrapped
78   # package files in libexec (where they belong, probably) because the upstream
79   # wrapper scripts have the bin directory hardcoded.
80   buildCommand = ''
81     mkdir -p $out/bin
82     for f in p4admin p4merge p4v p4vc; do
83       ln -s ${unwrapped}/bin/$f $out/bin
84     done
85   '';
86   preferLocalBuild = true;
88   inherit (unwrapped) meta passthru;