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"
|
||
|
|
];
|
||
|
|
}
|