diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libmatheval')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libmatheval/default.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libmatheval/default.nix b/nixpkgs/pkgs/development/libraries/libmatheval/default.nix new file mode 100644 index 000000000000..c2084b007a61 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libmatheval/default.nix @@ -0,0 +1,50 @@ +{ lib, stdenv, fetchurl, pkg-config, guile, flex, fetchpatch }: + +stdenv.mkDerivation rec { + version = "1.1.11"; + pname = "libmatheval"; + + nativeBuildInputs = [ pkg-config flex ]; + buildInputs = [ guile ]; + + src = fetchurl { + url = "https://ftp.gnu.org/gnu/libmatheval/${pname}-${version}.tar.gz"; + sha256 = "474852d6715ddc3b6969e28de5e1a5fbaff9e8ece6aebb9dc1cc63e9e88e89ab"; + }; + + # Patches coming from debian package + # https://packages.debian.org/source/sid/libs/libmatheval + patches = [ + (fetchpatch { + url = "https://sources.debian.org/data/main/libm/libmatheval/1.1.11%2Bdfsg-5/debian/patches/002-skip-docs.patch"; + hash = "sha256-wjz54FKQq7t9Bz0W3EOu+ZPTt8EcfkMotkZKwlWa09o="; + }) + (fetchpatch { + url = "https://sources.debian.org/data/main/libm/libmatheval/1.1.11%2Bdfsg-5/debian/patches/003-guile3.0.patch"; + hash = "sha256-H3E/2m4MfQAbjpXbVFyNhikVifi3spVThzaVU5srmjI="; + }) + (fetchpatch { + url = "https://sources.debian.org/data/main/libm/libmatheval/1.1.11%2Bdfsg-5/debian/patches/disable_coth_test.patch"; + hash = "sha256-9XeMXWDTzELWTPcsjAqOlIzp4qY9yupU+e6r0rJEUS0="; + }) + ]; + + env.NIX_CFLAGS_COMPILE = "-I${lib.getDev guile}/include/guile/${guile.effectiveVersion}"; + env.NIX_LDFLAGS = "-L${guile}/lib -lguile-${guile.effectiveVersion}"; + + meta = { + description = "A library to parse and evaluate symbolic expressions input as text"; + longDescription = '' + GNU libmatheval is a library (callable from C and Fortran) to parse and evaluate symbolic + expressions input as text. It supports expressions in any number of variables of arbitrary + names, decimal and symbolic constants, basic unary and binary operators, and elementary + mathematical functions. In addition to parsing and evaluation, libmatheval can also compute + symbolic derivatives and output expressions to strings. + ''; + homepage = "https://www.gnu.org/software/libmatheval/"; + license = lib.licenses.gpl3; + maintainers = [ lib.maintainers.bzizou ]; + platforms = lib.platforms.unix; + }; +} + |