From 8c32ecd1f411a6f1f6769d15de15c8e5d12e70d8 Mon Sep 17 00:00:00 2001 From: Ashish SHUKLA Date: Sun, 11 Aug 2019 21:47:41 +0530 Subject: [PATCH] sagittarius-scheme: init at 0.9.6 --- .../compilers/sagittarius-scheme/default.nix | 58 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 60 insertions(+) create mode 100644 pkgs/development/compilers/sagittarius-scheme/default.nix 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 f1d31a4ebbb1..aeaa7b0b5e8d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8252,6 +8252,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 {};