From 76a65398292d925e64a784ff1ebc441804dea9a8 Mon Sep 17 00:00:00 2001 From: Jude Taylor Date: Tue, 22 Sep 2015 16:26:48 -0700 Subject: [PATCH] work on making xquartz buildable in a pure environment --- pkgs/servers/x11/quartz-wm/default.nix | 8 +++++++- pkgs/servers/x11/xorg/overrides.nix | 6 +++++- pkgs/servers/x11/xquartz/default.nix | 3 +-- pkgs/top-level/all-packages.nix | 9 +++++++-- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/pkgs/servers/x11/quartz-wm/default.nix b/pkgs/servers/x11/quartz-wm/default.nix index 8f5885a48565..ff125067305a 100644 --- a/pkgs/servers/x11/quartz-wm/default.nix +++ b/pkgs/servers/x11/quartz-wm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, xorg, pixman, pkgconfig }: +{ stdenv, lib, fetchurl, xorg, pixman, pkgconfig, Foundation, libobjc, Xplugin, CF }: let version = "1.3.1"; in stdenv.mkDerivation { @@ -19,7 +19,13 @@ in stdenv.mkDerivation { xorg.libXext pixman pkgconfig + CF + Foundation + libobjc + Xplugin ]; + NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin + "/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation"; meta = with lib; { license = licenses.apsl20; platforms = platforms.darwin; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index a7e5b43689a0..f5d5bf679ec6 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -324,7 +324,11 @@ in ''; passthru.version = version; # needed by virtualbox guest additions } else { - buildInputs = commonBuildInputs ++ [ args.bootstrap_cmds args.automake args.autoconf ]; + buildInputs = commonBuildInputs ++ [ + args.bootstrap_cmds args.automake args.autoconf + args.CF args.apple_sdk.libs.Xplugin args.apple_sdk.frameworks.Foundation + args.libobjc args.apple_sdk.frameworks.Cocoa + ]; propagatedBuildInputs = commonPropagatedBuildInputs ++ [ libAppleWM applewmproto ]; diff --git a/pkgs/servers/x11/xquartz/default.nix b/pkgs/servers/x11/xquartz/default.nix index 3e9e7cb779ee..8b5b3155a172 100644 --- a/pkgs/servers/x11/xquartz/default.nix +++ b/pkgs/servers/x11/xquartz/default.nix @@ -109,8 +109,7 @@ in stdenv.mkDerivation { cp ${installer} $out/bin/xquartz-install - rm -r $out/LaunchAgents - rm -r $out/LaunchDaemons + rm -rf $out/LaunchAgents $out/LaunchDaemons fontsConfPath=$out/etc/X11/fonts.conf cp ${fontsConf} $fontsConfPath diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8f683d48b3e8..3099a146a809 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9246,14 +9246,19 @@ let zookeeper_mt = callPackage ../development/libraries/zookeeper_mt { }; xquartz = callPackage ../servers/x11/xquartz { }; - quartz-wm = callPackage ../servers/x11/quartz-wm { stdenv = clangStdenv; }; + quartz-wm = callPackage ../servers/x11/quartz-wm { + stdenv = clangStdenv; + inherit (darwin.apple_sdk.frameworks) Foundation; + inherit (darwin.apple_sdk.libs) Xplugin; + inherit (darwin) libobjc CF; + }; xorg = recurseIntoAttrs (lib.callPackagesWith pkgs ../servers/x11/xorg/default.nix { inherit clangStdenv fetchurl fetchgit fetchpatch stdenv pkgconfig intltool freetype fontconfig libxslt expat libpng zlib perl mesa_drivers spice_protocol dbus libuuid openssl gperf m4 libevdev tradcpp libinput mcpp makeWrapper autoreconfHook autoconf automake libtool xmlto asciidoc flex bison python mtdev pixman; - inherit (darwin) apple_sdk; + inherit (darwin) apple_sdk libobjc CF; bootstrap_cmds = if stdenv.isDarwin then darwin.bootstrap_cmds else null; mesa = mesa_noglu; udev = if stdenv.isLinux then udev else null;