nixpkgs/pkgs/development/guile-modules/guile-ncurses/default.nix
Will Dietz 855e0463ab tree-wide: platforms = platforms.gnu; -> platforms = gnu ++ linux
"platforms.gnu" has been linux-only since at least 17.03:

$ nix eval -f channel:nixos-17.03 lib.platforms.gnu
[ "i686-linux" "x86_64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "mips64el-linux" ]

Unlike platforms.linux, platforms.gnu indicates "must use glibc"
which for the most part is not intended.

Replacing platforms.gnu with platforms.linux would be the same "today"
but let's err on preserving existing behavior and be optimistic
about platforms these packages work on.
2018-04-30 18:08:48 -05:00

45 lines
1.3 KiB
Nix

{ stdenv, fetchurl, pkgconfig, guile, ncurses, libffi }:
let
name = "guile-ncurses-${version}";
version = "1.7";
in stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "mirror://gnu/guile-ncurses/${name}.tar.gz";
sha256 = "153vv75gb7l62sp3666rc97i63rnaqbx2rjar7d9b5w81fhwv4r5";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ guile ncurses libffi ];
preConfigure = ''
configureFlags="$configureFlags --with-guilesitedir=$out/share/guile/site"
'';
postFixup = ''
for f in $out/share/guile/site/ncurses/**.scm; do \
substituteInPlace $f \
--replace "libguile-ncurses" "$out/lib/libguile-ncurses"; \
done
'';
# XXX: 1 of 65 tests failed.
doCheck = false;
meta = with stdenv.lib; {
description = "Scheme interface to the NCurses libraries";
longDescription = ''
GNU Guile-Ncurses is a library for the Guile Scheme interpreter that
provides functions for creating text user interfaces. The text user
interface functionality is built on the ncurses libraries: curses, form,
panel, and menu.
'';
homepage = "https://www.gnu.org/software/guile-ncurses/";
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ vyp ];
platforms = platforms.gnu ++ platforms.linux;
};
}