Unverified Commit ffde63de authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #226033 from wegank/qt6-qtbase-path

qt6: avoid building under /tmp on darwin
parents 168daae2 bd8c68fd
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
prePhases+=" moveBuildDir"

moveBuildDir() {
    mkdir -p $out/.build
    cd $out/.build
}

postPhases+=" removeBuildDir"

removeBuildDir() {
    rm -rf $out/.build
}
+2 −7
Original line number Diff line number Diff line
@@ -38,7 +38,8 @@ let
        withGtk3 = true;
        inherit (srcs.qtbase) src version;
        inherit developerBuild;
        inherit (darwin.apple_sdk_11_0.frameworks) AGL AVFoundation AppKit GSS MetalKit;
        inherit (darwin.apple_sdk_11_0.frameworks)
          AGL AVFoundation AppKit Contacts CoreBluetooth EventKit GSS MetalKit;
        patches = [
          ./patches/0001-qtbase-qmake-always-use-libname-instead-of-absolute-.patch
          ./patches/0002-qtbase-qmake-fix-mkspecs-for-darwin.patch
@@ -46,12 +47,6 @@ let
          ./patches/0004-qtbase-fix-locating-tzdir-on-NixOS.patch
          ./patches/0005-qtbase-deal-with-a-font-face-at-index-0-as-Regular-f.patch
          ./patches/0006-qtbase-qt-cmake-always-use-cmake-from-path.patch
          # Remove symlink check causing build to bail out and fail.
          # https://gitlab.kitware.com/cmake/cmake/-/issues/23251
          (fetchpatch {
            url = "https://github.com/Homebrew/formula-patches/raw/c363f0edf9e90598d54bc3f4f1bacf95abbda282/qt/qt_internal_check_if_path_has_symlinks.patch";
            sha256 = "sha256-Gv2L8ymZSbJxcmUijKlT2NnkIB3bVH9D7YSsDX2noTU=";
          })
        ];
      };
      env = callPackage ./qt-env.nix { };
+9 −1
Original line number Diff line number Diff line
@@ -71,10 +71,14 @@
, unixODBC
, unixODBCDrivers
  # darwin
, moveBuildTree
, xcbuild
, AGL
, AVFoundation
, AppKit
, Contacts
, CoreBluetooth
, EventKit
, GSS
, MetalKit
  # optional dependencies
@@ -166,6 +170,9 @@ stdenv.mkDerivation rec {
    AGL
    AVFoundation
    AppKit
    Contacts
    CoreBluetooth
    EventKit
    GSS
    MetalKit
  ] ++ lib.optional libGLSupported libGL;
@@ -184,7 +191,8 @@ stdenv.mkDerivation rec {
  ++ lib.optional (libmysqlclient != null) libmysqlclient
  ++ lib.optional (postgresql != null) postgresql;

  nativeBuildInputs = [ bison flex gperf lndir perl pkg-config which cmake xmlstarlet ninja ];
  nativeBuildInputs = [ bison flex gperf lndir perl pkg-config which cmake xmlstarlet ninja ]
    ++ lib.optionals stdenv.isDarwin [ moveBuildTree ];

  propagatedNativeBuildInputs = [ lndir ];

+3 −1
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
, cmake
, ninja
, perl
, moveBuildTree
, srcs
, patches ? [ ]
}:
@@ -19,7 +20,8 @@ stdenv.mkDerivation (args // {
  patches = args.patches or patches.${pname} or [ ];

  buildInputs = args.buildInputs or [ ];
  nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ cmake ninja perl ];
  nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ cmake ninja perl ]
    ++ lib.optionals stdenv.isDarwin [ moveBuildTree ];
  propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or [ ]);

  moveToDev = false;
+4 −0
Original line number Diff line number Diff line
@@ -1173,6 +1173,10 @@ with pkgs;
    name = "keep-build-tree-hook";
  } ../build-support/setup-hooks/keep-build-tree.sh;
  moveBuildTree = makeSetupHook {
    name = "move-build-tree-hook";
  } ../build-support/setup-hooks/move-build-tree.sh;
  enableGCOVInstrumentation = makeSetupHook {
    name = "enable-gcov-instrumentation-hook";
  } ../build-support/setup-hooks/enable-coverage-instrumentation.sh;