Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
35 lines
991 B
Nix
35 lines
991 B
Nix
{
|
|
lib,
|
|
stdenv,
|
|
qtModule,
|
|
qtbase,
|
|
qtmultimedia,
|
|
}:
|
|
|
|
qtModule {
|
|
pname = "qtlocation";
|
|
propagatedBuildInputs = [
|
|
qtbase
|
|
qtmultimedia
|
|
];
|
|
outputs = [
|
|
"bin"
|
|
"out"
|
|
"dev"
|
|
];
|
|
# Clang 18 treats a non-const, narrowing conversion in an initializer list as an error,
|
|
# which results in a failure building a 3rd party dependency of qtlocation. Just suppress it.
|
|
env =
|
|
lib.optionalAttrs (stdenv.cc.isClang && (lib.versionAtLeast (lib.getVersion stdenv.cc) "18"))
|
|
{
|
|
NIX_CFLAGS_COMPILE = "-Wno-c++11-narrowing-const-reference";
|
|
};
|
|
qmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [
|
|
# boost uses std::auto_ptr which has been disabled in clang with libcxx
|
|
# This flag re-enables this feature
|
|
# https://libcxx.llvm.org/docs/UsingLibcxx.html#c-17-specific-configuration-macros
|
|
"QMAKE_CXXFLAGS+=-D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR"
|
|
"QMAKE_CXXFLAGS+=-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION"
|
|
];
|
|
}
|