mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-31 09:14:28 +00:00
trealla: 2.8.6 -> 2.21.33
This commit is contained in:
parent
0ebafdb842
commit
c1a92af325
@ -1,14 +1,28 @@
|
||||
{ lib, stdenv, fetchFromGitHub, readline, openssl, libffi, valgrind, withThread ? true, withSSL ? true, xxd }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, libffi
|
||||
, openssl
|
||||
, readline
|
||||
, valgrind
|
||||
, xxd
|
||||
, checkLeaks ? false
|
||||
, enableFFI ? true
|
||||
, enableSSL ? true
|
||||
, enableThreads ? true
|
||||
, lineEditingLibrary ? "readline"
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
assert lib.elem lineEditingLibrary [ "isocline" "readline" ];
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "trealla";
|
||||
version = "2.8.6";
|
||||
version = "2.21.33";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "trealla-prolog";
|
||||
repo = "trealla";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-0sAPexGKriaJVhBDRsopRYD8xrJAaXZiscCcwfWdEgQ=";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-IpJey3S5iOCGfdfyHzc+lU9JR5fK04fnA0Ulq5Mmqks=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -18,37 +32,59 @@ stdenv.mkDerivation rec {
|
||||
--replace 'GIT_VERSION :=' 'GIT_VERSION ?='
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"GIT_VERSION=\"v${version}\""
|
||||
(lib.optionalString withThread "THREADS=1")
|
||||
(lib.optionalString (!withSSL) "NOSSL=1")
|
||||
(lib.optionalString stdenv.isDarwin "NOLDLIBS=1")
|
||||
nativeBuildInputs = [
|
||||
xxd
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ xxd ];
|
||||
buildInputs = [ readline openssl libffi ];
|
||||
checkInputs = lib.optionals (!(stdenv.isDarwin && stdenv.isAarch64)) [ valgrind ];
|
||||
buildInputs =
|
||||
lib.optional enableFFI libffi
|
||||
++ lib.optional enableSSL openssl
|
||||
++ lib.optional (lineEditingLibrary == "readline") readline;
|
||||
|
||||
checkInputs = lib.optionals finalAttrs.doCheck [ valgrind ];
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
makeFlags = [
|
||||
"GIT_VERSION=\"v${finalAttrs.version}\""
|
||||
]
|
||||
++ lib.optional (lineEditingLibrary == "isocline") "ISOCLINE=1"
|
||||
++ lib.optional (!enableFFI) "NOFFI=1"
|
||||
++ lib.optional (!enableSSL) "NOSSL=1"
|
||||
++ lib.optional enableThreads "THREADS=1";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm755 -t $out/bin tpl
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
preCheck = ''
|
||||
# Disable tests due to floating point error
|
||||
rm tests/issues-OLD/test081.pl
|
||||
rm tests/issues-OLD/test585.pl
|
||||
# Disable test due to Unicode issues
|
||||
rm tests/issues-OLD/test252.pl
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
checkFlags = [
|
||||
"test"
|
||||
] ++ lib.optional checkLeaks "leaks";
|
||||
|
||||
meta = {
|
||||
homepage = "https://trealla-prolog.github.io/trealla/";
|
||||
description = "A compact, efficient Prolog interpreter written in ANSI C";
|
||||
homepage = "https://github.com/trealla-prolog/trealla";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ siraben ];
|
||||
longDescription = ''
|
||||
Trealla is a compact, efficient Prolog interpreter with ISO Prolog
|
||||
aspirations.
|
||||
Trealla is not WAM-based. It uses tree-walking, structure-sharing and
|
||||
deep-binding. Source is byte-code compiled to an AST that is interpreted
|
||||
at runtime. The intent and continued aim of Trealla is to be a small,
|
||||
easily ported, Prolog core.
|
||||
The name Trealla comes from the Liaden Universe books by Lee & Miller
|
||||
(where it doesn't seem to mean anything) and also a reference to the
|
||||
Trealla region of Western Australia.
|
||||
'';
|
||||
changelog = "https://github.com/trealla-prolog/trealla/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ siraben AndersonTorres ];
|
||||
mainProgram = "tpl";
|
||||
platforms = platforms.all;
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user