2023-03-04 12:14:45 +00:00
|
|
|
{ lib
|
2021-06-28 23:13:55 +00:00
|
|
|
, rustPlatform
|
2023-03-04 12:14:45 +00:00
|
|
|
, fetchFromGitHub
|
|
|
|
, pkg-config
|
|
|
|
, openssl
|
2021-06-28 23:13:55 +00:00
|
|
|
, gmp
|
|
|
|
, libmpc
|
|
|
|
, mpfr
|
2023-03-04 12:14:45 +00:00
|
|
|
, stdenv
|
2021-06-28 23:13:55 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
rustPlatform.buildRustPackage rec {
|
|
|
|
pname = "scryer-prolog";
|
2023-10-09 19:29:22 +00:00
|
|
|
version = "0.9.2";
|
2021-06-28 23:13:55 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "mthom";
|
|
|
|
repo = "scryer-prolog";
|
|
|
|
rev = "v${version}";
|
2023-10-09 19:29:22 +00:00
|
|
|
hash = "sha256-68wtRFkJh8OIdauSIyJ29en399TLnaRaRxw+5bkykxk=";
|
2021-06-28 23:13:55 +00:00
|
|
|
};
|
|
|
|
|
2023-03-27 19:17:25 +00:00
|
|
|
cargoLock = {
|
|
|
|
lockFile = ./Cargo.lock;
|
|
|
|
outputHashes = {
|
2023-10-09 19:29:22 +00:00
|
|
|
"dashu-0.3.1" = "sha256-bovPjLs98oj8/e/X/9GIYCzArzGfshjoeHU7IHdnq30=";
|
|
|
|
"libffi-3.2.0" = "sha256-GcNcXJCfiJp/7X5FXQJ/St0SmsPlCyeM8/s9FR+VE+M=";
|
2023-03-27 19:17:25 +00:00
|
|
|
"modular-bitfield-0.11.2" = "sha256-vcx+xt5owZVWOlKwudAr0EB1zlLLL5pVfWokw034BQI=";
|
2023-10-09 19:29:22 +00:00
|
|
|
"num-modular-0.5.2" = "sha256-G4Kr3BMbXprC6tbG3mY/fOi2sQzaepOTeC4vDiOKWUM=";
|
2023-03-27 19:17:25 +00:00
|
|
|
};
|
|
|
|
};
|
2022-04-27 09:35:20 +00:00
|
|
|
|
2023-03-04 12:14:45 +00:00
|
|
|
nativeBuildInputs = [ pkg-config ];
|
2021-06-28 23:13:55 +00:00
|
|
|
buildInputs = [ openssl gmp libmpc mpfr ];
|
|
|
|
|
2023-03-04 12:14:45 +00:00
|
|
|
CARGO_FEATURE_USE_SYSTEM_LIBS = true;
|
|
|
|
|
2021-06-28 23:13:55 +00:00
|
|
|
meta = with lib; {
|
2022-06-16 17:23:12 +00:00
|
|
|
broken = stdenv.isDarwin;
|
2023-03-04 12:14:45 +00:00
|
|
|
description = "A modern Prolog implementation written mostly in Rust";
|
2021-06-28 23:13:55 +00:00
|
|
|
homepage = "https://github.com/mthom/scryer-prolog";
|
|
|
|
license = with licenses; [ bsd3 ];
|
|
|
|
maintainers = with maintainers; [ malbarbo ];
|
|
|
|
};
|
|
|
|
}
|