gerbilPackages-unstable.smug-gerbil: init at 2019-12-24

This commit is contained in:
Francois-Rene Rideau 2020-09-25 21:19:24 -04:00
parent 078d667f9e
commit 8ff03048f9
2 changed files with 36 additions and 4 deletions

View File

@ -1,4 +1,4 @@
{ pkgs, gccStdenv, callPackage, fetchFromGitHub }:
{ pkgs, lib, gccStdenv, callPackage, fetchFromGitHub }:
# See ../gambit/build.nix regarding gccStdenv
rec {
@ -9,6 +9,7 @@ rec {
gerbil-poo = callPackage ./gerbil-poo.nix { };
gerbil-persist = callPackage ./gerbil-persist.nix { };
gerbil-ethereum = callPackage ./gerbil-ethereum.nix { };
smug-gerbil = callPackage ./smug-gerbil.nix { };
};
# Use this function in any package that uses Gerbil libraries, to define the GERBIL_LOADPATH.
@ -23,6 +24,7 @@ rec {
gambit-params ? pkgs.gambit-support.stable-params,
gerbilInputs ? [],
buildInputs ? [],
buildScript ? "./build.ss",
softwareName ? ""} :
let buildInputs_ = buildInputs; in
gccStdenv.mkDerivation rec {
@ -33,8 +35,8 @@ rec {
set -e ;
if [ -n "${version-path}.ss" ] ; then
echo -e '(import :clan/versioning${builtins.concatStringsSep ""
(map (x : if x.passthru.version-path != ""
then " :${x.passthru.gerbil-package}/${x.passthru.version-path}" else "")
(map (x : lib.optionalString (x.passthru.version-path != "")
" :${x.passthru.gerbil-package}/${x.passthru.version-path}")
gerbilInputs)
})\n(register-software "${softwareName}" "v${git-version}")\n' > "${passthru.version-path}.ss"
fi
@ -50,7 +52,7 @@ rec {
buildPhase = ''
runHook preBuild
./build.ss
${buildScript}
runHook postBuild
'';

View File

@ -0,0 +1,30 @@
{ pkgs, lib, fetchFromGitHub, gerbil-unstable, gerbil-support, gambit-support }:
gerbil-support.gerbilPackage {
pname = "smug-gerbil";
version = "unstable-2019-12-24";
git-version = "95d60d4";
gerbil-package = "drewc/smug";
gerbil = gerbil-unstable;
gerbilInputs = [];
buildInputs = [];
gambit-params = gambit-support.unstable-params;
version-path = ""; #"version";
softwareName = "Smug-Gerbil";
src = fetchFromGitHub {
owner = "drewc";
repo = "smug-gerbil";
rev = "95d60d486c1603743c6d3c525e6d5f5761b984e5";
sha256 = "0ys07z78gq60z833si2j7xa1scqvbljlx1zb32vdf32f1b27c04j";
};
meta = {
description = "Super Monadic Über Go-into : Parsers and Gerbil Scheme";
homepage = "https://github.com/drewc/smug-gerbil";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ fare ];
};
buildScript = ''
for i in primitive simple tokens smug ; do gxc -O $i.ss ; done
'';
}