diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 184089882ec2..a69066023bb5 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7989,6 +7989,12 @@ githubId = 720864; name = "Sébastien Bourdeauducq"; }; + sbond75 = { + name = "sbond75"; + email = "43617712+sbond75@users.noreply.github.com"; + github = "sbond75"; + githubId = 43617712; + }; sboosali = { email = "SamBoosalis@gmail.com"; github = "sboosali"; diff --git a/pkgs/development/compilers/cakelisp/default.nix b/pkgs/development/compilers/cakelisp/default.nix new file mode 100644 index 000000000000..500c15a2aaa2 --- /dev/null +++ b/pkgs/development/compilers/cakelisp/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub, gcc }: + +stdenv.mkDerivation rec { + pname = "cakelisp"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "makuto"; + repo = "cakelisp"; + rev = "v${version}"; + sha256 = "126va59jy7rvy6c2wrf8j44m307f2d8jixqkc49s9wllxprj1dmg"; + }; + + buildInputs = [ gcc ]; + + postPatch = '' + substituteInPlace runtime/HotReloading.cake \ + --replace '"/usr/bin/g++"' '"${gcc}/bin/g++"' + substituteInPlace src/ModuleManager.cpp \ + --replace '"/usr/bin/g++"' '"${gcc}/bin/g++"' + '' + stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace Build.sh --replace '--export-dynamic' '-export_dynamic' + substituteInPlace runtime/HotReloading.cake --replace '--export-dynamic' '-export_dynamic' + substituteInPlace Bootstrap.cake --replace '--export-dynamic' '-export_dynamic' + ''; + + buildPhase = '' + ./Build.sh + ''; + + installPhase = '' + install -Dm755 bin/cakelisp -t $out/bin + ''; + + meta = with stdenv.lib; { + description = "A performance-oriented Lisp-like language"; + homepage = "https://github.com/makuto/cakelisp"; + license = licenses.gpl3Plus; + platforms = platforms.darwin ++ platforms.linux; + maintainers = [ maintainers.sbond75 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2bbc07e24be9..560d979621fc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9047,6 +9047,8 @@ in gmp-static = gmp.override { withStatic = true; }; }; + cakelisp = callPackage ../development/compilers/cakelisp { }; + ciao = callPackage ../development/compilers/ciao { }; colm = callPackage ../development/compilers/colm { };