2021-04-15 16:59:15 +02:00
|
|
|
{ lib
|
|
|
|
, stdenv
|
|
|
|
, fetchurl
|
|
|
|
, gperf
|
|
|
|
, guile
|
|
|
|
, guile-lib
|
|
|
|
, libffi
|
|
|
|
, pkg-config
|
|
|
|
}:
|
2018-06-27 20:20:40 +02:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2019-08-15 14:41:18 +02:00
|
|
|
pname = "guile-reader";
|
2020-10-10 06:56:35 +02:00
|
|
|
version = "0.6.3";
|
2018-06-27 20:20:40 +02:00
|
|
|
|
|
|
|
src = fetchurl {
|
2021-04-15 16:59:15 +02:00
|
|
|
url = "http://download.savannah.nongnu.org/releases/${pname}/${pname}-${version}.tar.gz";
|
|
|
|
hash = "sha256-OMK0ROrbuMDKt42QpE7D6/9CvUEMW4SpEBjO5+tk0rs=";
|
2018-06-27 20:20:40 +02:00
|
|
|
};
|
|
|
|
|
2021-04-15 16:59:15 +02:00
|
|
|
nativeBuildInputs = [
|
|
|
|
pkg-config
|
|
|
|
];
|
|
|
|
buildInputs = [
|
|
|
|
gperf
|
|
|
|
guile
|
|
|
|
guile-lib
|
|
|
|
libffi
|
|
|
|
];
|
2018-06-27 20:20:40 +02:00
|
|
|
|
2023-11-08 10:20:53 +01:00
|
|
|
env = {
|
|
|
|
GUILE_SITE = "${guile-lib}/${guile.siteDir}";
|
|
|
|
} // lib.optionalAttrs stdenv.cc.isClang {
|
|
|
|
NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
|
|
|
|
};
|
2018-06-27 20:20:40 +02:00
|
|
|
|
2023-08-05 22:08:23 +02:00
|
|
|
configureFlags = [ "--with-guilemoduledir=$(out)/${guile.siteDir}" ];
|
2018-06-27 20:20:40 +02:00
|
|
|
|
2021-01-11 08:54:33 +01:00
|
|
|
meta = with lib; {
|
2021-04-15 16:59:15 +02:00
|
|
|
homepage = "https://www.nongnu.org/guile-reader/";
|
2018-06-27 20:20:40 +02:00
|
|
|
description = "A simple framework for building readers for GNU Guile";
|
|
|
|
longDescription = ''
|
2021-04-15 16:59:15 +02:00
|
|
|
Guile-Reader is a simple framework for building readers for GNU Guile.
|
2018-06-27 20:20:40 +02:00
|
|
|
|
2021-04-15 16:59:15 +02:00
|
|
|
The idea is to make it easy to build procedures that extend Guile's read
|
|
|
|
procedure. Readers supporting various syntax variants can easily be
|
|
|
|
written, possibly by re-using existing "token readers" of a standard
|
|
|
|
Scheme readers. For example, it is used to implement Skribilo's
|
|
|
|
R5RS-derived document syntax.
|
2018-06-27 20:20:40 +02:00
|
|
|
'';
|
|
|
|
license = licenses.lgpl3Plus;
|
|
|
|
maintainers = with maintainers; [ AndersonTorres ];
|
2023-08-03 19:42:49 +02:00
|
|
|
platforms = guile.meta.platforms;
|
2018-06-27 20:20:40 +02:00
|
|
|
};
|
|
|
|
}
|