nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitLab,
5 buildPackages,
6 autoreconfHook,
7 pkg-config,
8 util-macros,
9 darwin,
10 libx11,
11 xorgproto,
12 xauth,
13 xorg-server,
14 nix-update-script,
15}:
16stdenv.mkDerivation (finalAttrs: {
17 pname = "xinit";
18 version = "1.4.4";
19
20 src = fetchFromGitLab {
21 domain = "gitlab.freedesktop.org";
22 group = "xorg";
23 owner = "app";
24 repo = "xinit";
25 tag = "xinit-${finalAttrs.version}";
26 hash = "sha256-1GL0xJ/l9BnhoUyD5m1Ch86hjcRdBnys366qM4Lj84U=";
27 };
28
29 strictDeps = true;
30
31 depsBuildBuild = [ buildPackages.stdenv.cc ];
32
33 nativeBuildInputs = [
34 autoreconfHook
35 pkg-config
36 util-macros
37 ]
38 ++ lib.optionals stdenv.hostPlatform.isDarwin [
39 darwin.bootstrap_cmds
40 ];
41
42 buildInputs = [
43 libx11
44 xorgproto
45 ];
46
47 propagatedBuildInputs = [
48 xauth
49 ]
50 ++ lib.optionals stdenv.hostPlatform.isDarwin [
51 libx11
52 xorgproto
53 ];
54
55 configureFlags = [
56 "--with-xserver=${xorg-server.out}/bin/X"
57 ]
58 ++ lib.optionals stdenv.hostPlatform.isDarwin [
59 "--with-bundle-id-prefix=org.nixos.xquartz"
60 "--with-launchdaemons-dir=${placeholder "out"}/LaunchDaemons"
61 "--with-launchagents-dir=${placeholder "out"}/LaunchAgents"
62 ];
63
64 postFixup = ''
65 substituteInPlace $out/bin/startx \
66 --replace-fail '"''${prefix}/etc/X11/xinit/xinitrc"' '/etc/X11/xinit/xinitrc' \
67 --replace-fail '"$xinitdir/xserverrc"' '/etc/X11/xinit/xserverrc'
68 '';
69
70 passthru = {
71 updateScript = nix-update-script { extraArgs = [ "--version-regex=xinit-(.*)" ]; };
72 };
73
74 meta = {
75 description = "X server & client startup utilities (includes startx)";
76 homepage = "https://gitlab.freedesktop.org/xorg/app/xinit";
77 license = with lib.licenses; [
78 mitOpenGroup
79 x11
80 ];
81 mainProgram = "xinit";
82 maintainers = [ ];
83 platforms = lib.platforms.unix;
84 };
85})