1{ lib
2, rustPlatform
3, fetchFromGitHub
4, llvmPackages_13
5, libxml2
6, ncurses
7, zlib
8, stdenv
9}:
10
11rustPlatform.buildRustPackage rec {
12 pname = "bfc";
13 version = "1.12.0";
14
15 src = fetchFromGitHub {
16 owner = "Wilfred";
17 repo = "bfc";
18 rev = version;
19 hash = "sha256-5pcvwCtXWEexvV3TS62dZ6Opg8ANP2L8B0Z8u/OQENU=";
20 };
21
22 cargoHash = "sha256-1w/jPBO1TZpa0ju+O/NxQ/oMyzIvYVoXpj+ZLcIpQoU=";
23
24 buildInputs = [
25 libxml2
26 ncurses
27 zlib
28 ];
29
30 env = {
31 LLVM_SYS_130_PREFIX = llvmPackages_13.llvm.dev;
32 } // lib.optionalAttrs stdenv.cc.isClang {
33 # Work around https://github.com/NixOS/nixpkgs/issues/166205.
34 NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
35 };
36
37 # process didn't exit successfully: <...> SIGSEGV
38 doCheck = false;
39
40 meta = with lib; {
41 description = "An industrial-grade brainfuck compiler";
42 homepage = "https://bfc.wilfred.me.uk";
43 license = licenses.gpl2Plus;
44 maintainers = with maintainers; [ figsoda ];
45 broken = stdenv.isAarch64 && stdenv.isLinux;
46 };
47}