summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2019-08-13 18:31:17 +0000
committerGitHub <noreply@github.com>2019-08-13 18:31:17 +0000
commit6490f9c740092e61ab5fe3e73a71f665b82cd78a (patch)
tree39114a10cf687c68f5c283178d9d24d9c22e91e1
parent705b5cd05d1be32b83cfc097732214ce6cc35790 (diff)
parent8c32ecd1f411a6f1f6769d15de15c8e5d12e70d8 (diff)
Merge pull request #65853 from wahjava/add/sagittarius-scheme
sagittarius-scheme: init at 0.9.6
-rw-r--r--maintainers/maintainer-list.nix9
-rw-r--r--pkgs/development/compilers/sagittarius-scheme/default.nix58
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 69 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index de3917bc50f3..caffe21fd72e 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -85,6 +85,15 @@
github = "baldo";
name = "Andreas Baldeau";
};
+ abbe = {
+ email = "ashish.is@lostca.se";
+ github = "wahjava";
+ name = "Ashish SHUKLA";
+ keys = [{
+ longkeyid = "rsa4096/0xC746CFA9E74FA4B0";
+ fingerprint = "F682 CDCC 39DC 0FEA E116 20B6 C746 CFA9 E74F A4B0";
+ }];
+ };
abbradar = {
email = "ab@fmap.me";
github = "abbradar";
diff --git a/pkgs/development/compilers/sagittarius-scheme/default.nix b/pkgs/development/compilers/sagittarius-scheme/default.nix
new file mode 100644
index 000000000000..4b1358b72472
--- /dev/null
+++ b/pkgs/development/compilers/sagittarius-scheme/default.nix
@@ -0,0 +1,58 @@
+{ stdenv
+, fetchurl
+, cmake
+, pkgconfig
+, libffi
+, boehmgc
+, openssl
+, zlib
+, odbcSupport ? true
+, libiodbc
+}:
+
+let platformLdLibraryPath = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH"
+ else if (stdenv.isLinux or stdenv.isBSD) then "LD_LIBRARY_PATH"
+ else throw "unsupported platform";
+in
+stdenv.mkDerivation rec {
+ pname = "sagittarius-scheme";
+ version = "0.9.6";
+ src = fetchurl {
+ url = "https://bitbucket.org/ktakashi/${pname}/downloads/sagittarius-${version}.tar.gz";
+ sha256 = "03nvvvfd4gdlvq244zpnikxxajp6w8jj3ymw4bcq83x7zilb2imr";
+ };
+ preBuild = ''
+ # since we lack rpath during build, need to explicitly add build path
+ # to LD_LIBRARY_PATH so we can load libsagittarius.so as required to
+ # build extensions
+ export ${platformLdLibraryPath}="$(pwd)/build"
+ '';
+ nativeBuildInputs = [ pkgconfig cmake ];
+
+ buildInputs = [ libffi boehmgc openssl zlib ] ++ stdenv.lib.optional odbcSupport libiodbc;
+
+ meta = with stdenv.lib; {
+ description = "An R6RS/R7RS Scheme system";
+ longDescription = ''
+ Sagittarius Scheme is a free Scheme implementation supporting
+ R6RS/R7RS specification.
+
+ Features:
+
+ - Builtin CLOS.
+ - Common Lisp like reader macro.
+ - Cryptographic libraries.
+ - Customisable cipher and hash algorithm.
+ - Custom codec mechanism.
+ - CL like keyword lambda syntax (taken from Gauche).
+ - Constant definition form. (define-constant form).
+ - Builtin regular expression
+ - mostly works O(n)
+ - Replaceable reader
+ '';
+ homepage = "https://bitbucket.org/ktakashi/sagittarius-scheme";
+ license = licenses.bsd2;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ abbe ];
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 42681c56dacd..76134f57e3ba 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8264,6 +8264,8 @@ in
inherit (darwin.apple_sdk.frameworks) CoreServices Security;
};
+ sagittarius-scheme = callPackage ../development/compilers/sagittarius-scheme {};
+
sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {};
sbcl = callPackage ../development/compilers/sbcl {};