Unverified Commit bf30644a authored by Nick Cao's avatar Nick Cao
Browse files

qt6.qtModule: drop fixup handlings

As they are either already part of the qtbase setupHook,
or no longer required as we are building qt components with cmake.
parent 290c0ce1
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -226,9 +226,9 @@ qtModule {
    export NINJAFLAGS="-j$NIX_BUILD_CORES"
  '';

  postInstall = ''
  postFixup = ''
    # This is required at runtime
    mkdir $out/libexec
    mkdir -p $out/libexec
    mv $dev/libexec/QtWebEngineProcess $out/libexec
  '';

+13 −54
Original line number Diff line number Diff line
{ stdenv, lib, perl, cmake, ninja, writeText, qtbase, qmake, srcs, patches ? [ ] }:
{ lib
, stdenv
, cmake
, ninja
, perl
, srcs
, patches ? [ ]
}:

args:

@@ -11,68 +18,20 @@ stdenv.mkDerivation (args // {
  inherit pname version src;
  patches = args.patches or patches.${pname} or [ ];

  buildInputs = args.buildInputs or [ ];
  nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [
    perl
    cmake
    ninja
    qmake
  ];
  propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or [ ]);

  preHook = ''
    . ${./hooks/move-qt-dev-tools.sh}
    . ${./hooks/fix-qt-builtin-paths.sh}
  '';

  buildInputs = args.buildInputs or [ ];
  nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ cmake ninja perl ];
  propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or [ ]);

  outputs = args.outputs or [ "out" "dev" ];

  dontWrapQtApps = args.dontWrapQtApps or true;
  postInstall = ''
    if [ ! -z "$dev" ]; then
      mkdir "$dev"
      for dir in libexec mkspecs
      do
        moveToOutput "$dir" "$dev"
      done
    fi
    fixQtBuiltinPaths $out/lib "*.pr?"
    ${args.postInstall or ""}
  '';

  preConfigure = args.preConfigure or "" + ''
    fixQtBuiltinPaths . '*.pr?'
  '' + lib.optionalString (builtins.compareVersions "5.15.0" version <= 0)
    # Note: We use ${version%%-*} to remove any tag from the end of the version
    # string. Version tags are added by Nixpkgs maintainers and not reflected in
    # the source version.
    ''
      if [[ -z "$dontCheckQtModuleVersion" ]] \
          && grep -q '^MODULE_VERSION' .qmake.conf 2>/dev/null \
          && ! grep -q -F "''${version%%-*}" .qmake.conf 2>/dev/null
      then
        echo >&2 "error: could not find version ''${version%%-*} in .qmake.conf"
        echo >&2 "hint: check .qmake.conf and update the package version in Nixpkgs"
        exit 1
      fi

      if [[ -z "$dontSyncQt" && -f sync.profile ]]; then
        # FIXME: this probably breaks crosscompiling as it's not from nativeBuildInputs
        # I don't know how to get /libexec from nativeBuildInputs to work, it's not under /bin
        ${lib.getDev qtbase}/libexec/syncqt.pl -version "''${version%%-*}"
      fi
    '';

  postFixup = ''
    if [ -d "''${!outputDev}/lib/pkgconfig" ]; then
      find "''${!outputDev}/lib/pkgconfig" -name '*.pc' | while read pc; do
        sed -i "$pc" \
          -e "/^prefix=/ c prefix=''${!outputLib}" \
          -e "/^exec_prefix=/ c exec_prefix=''${!outputBin}" \
          -e "/^includedir=/ c includedir=''${!outputDev}/include"
      done
    fi

    moveToOutput "libexec" "''${!outputDev}"
    moveQtDevTools
  '' + args.postFixup or "";