{ preparePort, nixpkgs, toolchain, upstream }: let inherit (nixpkgs.buildPackages) fetchurl ; in preparePort { name = "libc-freebsd-12.0.0"; outputs = [ "source" "dev" ]; builder = ./libc-builder.sh; depsBuildBuild = with nixpkgs.buildPackages; [ flex bison glibc stdenv.cc toolchain ]; src = fetchurl { url = "http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/12.0-RELEASE/src.txz"; sha256 = "0da393ac2174168a71c1c527d1453e07372295187d05c288250800cb152a889b"; }; tarFlags = [ "--strip-components=2" "usr/src/contrib/gdtoa" "usr/src/contrib/libc-vis" "usr/src/contrib/tzcode/stdtime" "usr/src/include" "usr/src/lib/libc" "usr/src/lib/msun" "usr/src/sys/amd64" "usr/src/sys/arm" "usr/src/sys/arm64" "usr/src/sys/bsm" "usr/src/sys/crypto/chacha20" "usr/src/sys/i386" "usr/src/sys/libkern" "usr/src/sys/net" "usr/src/sys/netinet" "usr/src/sys/netinet6" "usr/src/sys/riscv" "usr/src/sys/rpc" "usr/src/sys/sys" "usr/src/sys/vm" "usr/src/sys/x86" ]; sourceRoot = "."; patches = "${upstream.src}/repos/libports/src/lib/libc/patches/*.patch"; patchFlags = "-p0 --strip 3"; libcPcIn = ./libc.pc.in; libcSymbols = ./libc.symbols; }