tdb, talloc, tevent, ldb: fix pkgsLLVM build (take 2) (#384637)
This commit is contained in:
@@ -1,20 +1,22 @@
|
||||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, python3
|
||||
, pkg-config
|
||||
, readline
|
||||
, tdb
|
||||
, talloc
|
||||
, tevent
|
||||
, popt
|
||||
, libxslt
|
||||
, docbook-xsl-nons
|
||||
, docbook_xml_dtd_42
|
||||
, cmocka
|
||||
, wafHook
|
||||
, buildPackages
|
||||
, libxcrypt
|
||||
, testers
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
python3,
|
||||
pkg-config,
|
||||
readline,
|
||||
tdb,
|
||||
talloc,
|
||||
tevent,
|
||||
popt,
|
||||
libxslt,
|
||||
docbook-xsl-nons,
|
||||
docbook_xml_dtd_42,
|
||||
cmocka,
|
||||
wafHook,
|
||||
buildPackages,
|
||||
libxcrypt,
|
||||
testers,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -26,7 +28,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-0VWIQALHnbscPYZC+LEBPy5SCzru/W6WQSrexbjWy8A=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
@@ -59,21 +64,32 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
wafPath = "buildtools/bin/waf";
|
||||
|
||||
wafConfigureFlags = [
|
||||
"--bundled-libraries=NONE"
|
||||
"--builtin-libraries=replace"
|
||||
"--without-ldb-lmdb"
|
||||
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"--cross-compile"
|
||||
"--cross-execute=${stdenv.hostPlatform.emulator buildPackages}"
|
||||
];
|
||||
wafConfigureFlags =
|
||||
[
|
||||
"--bundled-libraries=NONE"
|
||||
"--builtin-libraries=replace"
|
||||
"--without-ldb-lmdb"
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"--cross-compile"
|
||||
"--cross-execute=${stdenv.hostPlatform.emulator buildPackages}"
|
||||
];
|
||||
|
||||
# python-config from build Python gives incorrect values when cross-compiling.
|
||||
# If python-config is not found, the build falls back to using the sysconfig
|
||||
# module, which works correctly in all cases.
|
||||
PYTHON_CONFIG = "/invalid";
|
||||
|
||||
stripDebugList = [ "bin" "lib" "modules" ];
|
||||
# https://reviews.llvm.org/D135402
|
||||
NIX_LDFLAGS = lib.optional (
|
||||
stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17"
|
||||
) "--undefined-version";
|
||||
|
||||
stripDebugList = [
|
||||
"bin"
|
||||
"lib"
|
||||
"modules"
|
||||
];
|
||||
|
||||
passthru.tests.pkg-config = testers.hasPkgConfigModules {
|
||||
package = finalAttrs.finalPackage;
|
||||
|
||||
@@ -67,6 +67,11 @@ stdenv.mkDerivation rec {
|
||||
# module, which works correctly in all cases.
|
||||
PYTHON_CONFIG = "/invalid";
|
||||
|
||||
# https://reviews.llvm.org/D135402
|
||||
NIX_LDFLAGS = lib.optional (
|
||||
stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17"
|
||||
) "--undefined-version";
|
||||
|
||||
# this must not be exported before the ConfigurePhase otherwise waf whines
|
||||
preBuild = lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
export NIX_CFLAGS_LINK="-no-pie -shared";
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, pkg-config
|
||||
, wafHook
|
||||
, buildPackages
|
||||
, python3
|
||||
, readline
|
||||
, libxslt
|
||||
, libxcrypt
|
||||
, docbook-xsl-nons
|
||||
, docbook_xml_dtd_45
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
pkg-config,
|
||||
wafHook,
|
||||
buildPackages,
|
||||
python3,
|
||||
readline,
|
||||
libxslt,
|
||||
libxcrypt,
|
||||
docbook-xsl-nons,
|
||||
docbook_xml_dtd_45,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -44,23 +46,32 @@ stdenv.mkDerivation rec {
|
||||
|
||||
wafPath = "buildtools/bin/waf";
|
||||
|
||||
wafConfigureFlags = [
|
||||
"--bundled-libraries=NONE"
|
||||
"--builtin-libraries=replace"
|
||||
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"--cross-compile"
|
||||
"--cross-execute=${stdenv.hostPlatform.emulator buildPackages}"
|
||||
];
|
||||
wafConfigureFlags =
|
||||
[
|
||||
"--bundled-libraries=NONE"
|
||||
"--builtin-libraries=replace"
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"--cross-compile"
|
||||
"--cross-execute=${stdenv.hostPlatform.emulator buildPackages}"
|
||||
];
|
||||
|
||||
postFixup = if stdenv.hostPlatform.isDarwin
|
||||
then ''install_name_tool -id $out/lib/libtdb.dylib $out/lib/libtdb.dylib''
|
||||
else null;
|
||||
postFixup =
|
||||
if stdenv.hostPlatform.isDarwin then
|
||||
''install_name_tool -id $out/lib/libtdb.dylib $out/lib/libtdb.dylib''
|
||||
else
|
||||
null;
|
||||
|
||||
# python-config from build Python gives incorrect values when cross-compiling.
|
||||
# If python-config is not found, the build falls back to using the sysconfig
|
||||
# module, which works correctly in all cases.
|
||||
PYTHON_CONFIG = "/invalid";
|
||||
|
||||
# https://reviews.llvm.org/D135402
|
||||
NIX_LDFLAGS = lib.optional (
|
||||
stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17"
|
||||
) "--undefined-version";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Trivial database";
|
||||
longDescription = ''
|
||||
|
||||
@@ -67,6 +67,11 @@ stdenv.mkDerivation rec {
|
||||
# module, which works correctly in all cases.
|
||||
PYTHON_CONFIG = "/invalid";
|
||||
|
||||
# https://reviews.llvm.org/D135402
|
||||
NIX_LDFLAGS = lib.optional (
|
||||
stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17"
|
||||
) "--undefined-version";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Event system based on the talloc memory management library";
|
||||
homepage = "https://tevent.samba.org/";
|
||||
|
||||
Reference in New Issue
Block a user