Files
Dark Steveneq 646b892680
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
push sheeet
2025-10-09 14:15:47 +02:00

58 lines
975 B
Nix

{
lib,
stdenv,
swift,
swiftpm,
swiftPackages,
}:
swiftPackages.stdenv.mkDerivation (finalAttrs: {
name = "swift-cxx-interop-test";
src = ./src;
nativeBuildInputs = [
swift
swiftpm
];
installPhase = ''
runHook preInstall
binPath="$(swiftpmBinPath)"
mkdir -p -- "$out/bin"
cp -- "$binPath/${finalAttrs.meta.mainProgram}" "$out/bin"
runHook postInstall
'';
installCheckPhase = ''
runHook preInstallCheck
"$out/bin/${finalAttrs.meta.mainProgram}" | grep 'Hello, world!'
runHook postInstallCheck
'';
doInstallCheck = true;
env = {
# Gross hack copied from `protoc-gen-swift` :(
LD_LIBRARY_PATH = lib.optionalString stdenv.hostPlatform.isLinux (
lib.makeLibraryPath [
swiftPackages.Dispatch
]
);
};
meta = {
inherit (swift.meta)
team
platforms
badPlatforms
;
license = lib.licenses.mit;
mainProgram = "CxxInteropTest";
};
})