nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv, lib, fetchurl, ncurses, buildPackages }:
2
3let
4 isCrossCompiling = stdenv.hostPlatform != stdenv.buildPlatform;
5in
6
7stdenv.mkDerivation rec {
8 pname = "s9fes";
9 version = "20181205";
10
11 src = fetchurl {
12 url = "https://www.t3x.org/s9fes/s9fes-${version}.tgz";
13 sha256 = "sha256-Lp/akaDy3q4FmIE6x0fj9ae/SOD7tdsmzy2xdcCh13o=";
14 };
15
16 # Fix cross-compilation
17 postPatch = ''
18 substituteInPlace Makefile \
19 --replace 'ar q' '${stdenv.cc.targetPrefix}ar q' \
20 --replace 'strip' '${stdenv.cc.targetPrefix}strip'
21 ${lib.optionalString isCrossCompiling "substituteInPlace Makefile --replace ./s9 '${buildPackages.s9fes}/bin/s9'"}
22 '';
23
24 buildInputs = [ ncurses ];
25 makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=$(out)" ];
26 enableParallelBuilding = true;
27 # ...-bash-5.2-p15/bin/bash: line 1: ...-s9fes-20181205/bin/s9help: No such file or directory
28 # make: *** [Makefile:157: install-util] Error 1
29 enableParallelInstalling = false;
30
31 meta = with lib; {
32 description = "Scheme 9 From Empty Space, an interpreter for R4RS Scheme";
33 homepage = "http://www.t3x.org/s9fes/index.html";
34 license = licenses.publicDomain;
35 maintainers = with maintainers; [ siraben ];
36 platforms = platforms.unix;
37 };
38}