{ pkgs ? import { } , callPackage ? pkgs.callPackage , stdenv ? pkgs.stdenv , name ? "brownpaper" , src ? (builtins.filterSource (path: type: baseNameOf path != "target") ./.) }: let crate2nix_tools = import "${builtins.fetchTarball { url = "https://github.com/kolloch/crate2nix/archive/0.8.0.tar.gz"; sha256 = "17mmf5sqn0fmpqrf52icq92nf1sy5yacwx9vafk43piaq433ba56"; }}/tools.nix" { inherit pkgs; }; overrides = pkgs.defaultCrateOverrides // rec { nettle-sys = attrs: with pkgs; { nativeBuildInputs = [ clang nettle pkg-config ]; LIBCLANG_PATH = "${clang.cc.lib}/lib"; }; sequoia-openpgp = attrs: with pkgs; { nativeBuildInputs = [ clang gmp pkg-config ]; LIBCLANG_PATH = "${clang.cc.lib}/lib"; }; brownpaper = sequoia-openpgp; # requires gmp as well }; client = pkgs.writeShellScriptBin "brownpaper" '' PATH=$PATH:${pkgs.gnupg}/bin/:${pkgs.curl}/bin/ ${./bp.sh} $@ ''; in { server = (crate2nix_tools.generatedCargoNix { inherit name src; }); inherit client; }